我有2个阵列,条件合并2个二维阵列
arr1 = [
['itemid-1', 'itemclass', 'timestamp'],
['itemid-2', 'itemclass', 'timestamp'],
['itemid-3', 'itemclass', 'timestamp'],
['itemid-5', 'itemclass', 'timestamp']
];
arr2 = [
['itemid-1', 'data-state', 'data-col'],
['itemid-3', 'data-state', 'data-col'],
['itemid-4', 'data-state', 'data-col']
];
最终的结果应该是:
arr1 = [
['itemid-1', 'itemclass', 'timestamp', 'data-state', 'data-col'],
['itemid-2', 'itemclass', 'timestamp'],
['itemid-3', 'itemclass', 'timestamp', 'data-state', 'data-col'],
['itemid-5', 'itemclass', 'timestamp']
];
我想从arr2
合并值arr1
其中itemid-x
相同。
我可以通过使用循环做到这一点,
for(i = 0; i < arr1.length; i++){
for(j = 0; j < arr2.length; j++){
if(arr1[i][0] == arr2[j][0]){
arr1[i] = arr1[i].concat(arr2[j].slice(1));
}
}
}
但是我最近开始与underscorejs和的NodeJS,所以我想知道,如果它可以与任何现有的功能来完成。
PS:我发现this answer有趣,但它需要数组的长度相同,如果两个数组中的itemid-x
索引不相同,它也不起作用。
所以你的代码的作品,你只是想找一个更好的方法来做到这一点? – Patashu
是的当然,我也已经在使用下划线,并且不介意添加其他库。 –
您的代码使用原生JavaScript功能。恕我直言,你不需要任何东西,只需使用它。 –