因为我正在尝试Lo-Dash,我想知道如何加入和排序两个数组?
A1:[3,1]
A2:[{1:’val 1′},{2:’val 2′},{3:’val 3′},{4:’val 4′},…]
A1加入A2 orderBy Vals:[{1:’val 1′},{3:’val 3′}]
使用_.sortBy排序似乎很简单.但是如何进行联接呢?
解决方法
我将不得不做出一些假设来回答你的问题.首先,像评论中的路易
mentioned,A2是无效的Javascript.所以让我们看看路易斯建议的内容,而是使用格式[{1:’val 1′},…].其次,A2中的对象是否只保证只有一个键,还是我们需要搜索那些?为简单起见,我将假设前者.
鉴于这些假设,以下方法可行:
_.filter(A2,function(d) { return _.contains(A1,_.parseInt(_.keys(d)[0])); });
与大多数Lo-dash的函数不同,这里使用的函数不会从普通的’Javascript’中执行过多的抽象.给定支持ECMAScript 5的浏览器,您可以使用以下内容替换Lodash包装器以获得相同的功能:
A2.filter(function(d) { return A1.indexOf(parseInt(Object.keys(d)[0])) !== -1; });