由于我正在尝试使用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
进行排序似乎很简单。但是如何执行连接呢?
由于我正在尝试使用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]));
});
A2.filter(function(d) {
return A1.indexOf(parseInt(Object.keys(d)[0])) !== -1;
});
[ { 1: 'val 1' }, { 2: 'val 2' },...]
这种结构?虽然这个结构很奇怪,但至少它是合法的。 - Louis