私は2つの配列を比較しようとしています、そして、2つの与えられた配列のうちの1つに見つかった項目だけで新しい配列を返します。この未定義の値はどこから得られますか?
[1,2,3,4]
と[1,2,3]
の比較結果は、[4]
である必要があります。
問題は、ループが実行された後に'undefined'
要素を取得するという問題です。
function diff(arr1, arr2){
var newArr = [];
for(i=arr1[0]; i<=arr1.length; i++){
if(arr2.indexOf(arr1[i])=== -1){
newArr.push(arr1[i]);
}
}
console.log(newArr);
};
diff([1,2,3,4], [1,2,3]);
この結果は[4, undefined]
です。何が間違っているのですか?
'I = ARR1 [0]'あなたは – user234461
が<= length' 'までループ欲しいものはおそらくではありません古典的なoff-by-oneエラーでもあります。 – deceze