I 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']
];
난 itemid-x
가 동일 arr1
에 arr2
의 값을 병합 할.
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 시작, 그래서 나는 그것이 기존의 기능을 수행 할 수 있는지 알고 싶습니다.
추신 : this answer 흥미 롭습니다. 그러나 배열의 길이가 동일해야하며, itemid-x
색인이 두 배열에서 동일하지 않으면 작동하지 않습니다.
코드가 작동하므로 더 좋은 방법을 찾고 싶습니까? – Patashu
예 물론 저는 이미 밑줄을 사용하고 있으며 다른 라이브러리를 추가하는 데 신경 쓰지 않습니다. –
코드에서 기본 JavaScript 함수를 사용합니다. IMHO, 당신은 다른 것을 필요로하지 않습니다. 그냥 사용하십시오. –