Cal*_*ale 7 javascript functional-programming lodash
因为我正在尝试Lo-Dash,我想知道如何加入和排序两个数组?
A1: [ 3, 1 ]
A2: [ { 1: ‘val 1’ }, { 2: ‘val 2’ }, { 3: ‘val 3’ }, { 4: ‘val 4’ }, … ]
A1 join A2 orderBy Vals: [ { 1: ‘val 1’ }, { 3: ‘val 3’ }]
排序似乎很简单_.sortBy.但是如何进行联接呢?
我将不得不做出一些假设来回答你的问题。首先,就像路易斯在评论中提到的A2那样,它不是有效的 Javascript。因此,让我们按照路易斯的建议,改用格式[{ 1: 'val 1' }, ...]。其次,是否保证中的对象A2只有一个键,还是我们需要搜索这些对象?为了简单起见,我假设是前者。
鉴于这些假设,以下内容将起作用:
_.filter(A2, function(d) {
return _.contains(A1, _.parseInt(_.keys(d)[0]));
});
Run Code Online (Sandbox Code Playgroud)
与 Lo-dash 的大多数函数不同,这里使用的函数不会从普通的 Javascript 中执行太多抽象。如果浏览器支持 ECMAScript 5,您可以使用以下内容替换 Lodash 包装器以获得相同的功能:
A2.filter(function(d) {
return A1.indexOf(parseInt(Object.keys(d)[0])) !== -1;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6148 次 |
| 最近记录: |