0
我有以下函數比較兩個二維數組中的第一列值。二維數組比較 - 嵌套for循環錯誤
var new_array = [['EMI_007','lion','cat'],
['EMI_008','cat','dog']
];
var existing_array = [['EMI_002','cat','tiger'],
['EMI_004','hen','pig'],
['EMI_007','pigeon','hen'],
['EMI_001','boar','tiger']
];
在new_array值[I] [0]進行比較,在existing_array [j]的值[0]。
如果它們相同,則整行被替換爲new_array
中的行,否則將new_array
行連接到現有數組。
在上例中,將new_array與existing_array進行比較。
EMI_007存在於'existing_array'中,所以它被替換爲['EMI_007','lion','cat']
,['EMI_008','cat','dog']被追加到現有數組中。
我已經創建了以下功能,但似乎有錯誤。
如果在new_array中找到的具有EMI ID的行在'existing_array'中不存在,則會插入多次。
function concat_2D_array(existing_array, new_array){
for (var i=0; i<new_array.length; i++) {
for (var j=0; j<existing_array.length; j++) {
if(new_array[i][0] == existing_array[j][0]){
alert("ok,it already exists in the existing_array");
existing_array.splice(j,1,new_array[i]);
}
else{
alert("It is not in the existing array");
// existing_array.concat(new_array[i]);
}
}
}
alert("returned existing_array"+existing_array)
return existing_array;
}
任何幫助表示最欣賞
非常感謝。 – tanya 2012-01-27 22:20:05