私は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:この回答は興味深いと思いますが、配列の長さが同じである必要がありitemid-x
ます。また、両方の配列でインデックスが同じでない場合は機能しません。