我有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功能。恕我直言,你不需要任何東西,只需使用它。 –