在這裏,我有兩個不同長度的數組。然後一個數組將返回兩個數組中不常見的值。但編譯器給出錯誤的輸出。這些功能有哪些問題? 輸出:在這種情況下[4,5]而不是[4]。比較兩個不同長度的數組並返回一個具有不常見元素的數組
function diffArray(arr1, arr2) {
var newArr = [];
var y=[];
var z=[];
// Same, same; but different.
var flag=0;
for(var i=0;i<arr1.length;i++){
if(arr2.indexOf(arr1[i]===-1)){
z=arr1.slice(i,i+1);
//return z;
}
for(var j=0;j<arr2.length;j++){
if(arr1.indexOf(arr2[j])===-1){
y=arr2.slice(j,j+1);
//z=arr1.slice(i,i+1);
//break;
}
}
}
return newArr.concat(y,z);
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
diffArray(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]);
'編譯器是給錯了output'? –
[4,5]作爲輸出而不是[5] @sᴜʀᴇsʜᴀᴛᴛᴀ – aayushi
爲什麼你期待[5]?並不罕見[4] –