私は '配列の配列'を扱っていて、2番目の配列に含まれるすべての '集合'が最初の配列に存在するかどうかをテストしようとしています。私の例では配列の配列を別の配列の中に見つける
var arr = [['Netherlands','PP3a'],['Austria','PP16a'],['Estonia','PP3a'],['Luxembourg','PP3a'],['Belgium','PP3a']];
var n = [['Luxembourg','PP3a'],['Netherlands','PP3a'],['Belgium','PP3a']];
https://jsfiddle.net/mnb8jddw/彼らは明らかに存在しているが、(ちなみに数字で動作するようだ)コードは、偽読み込みます。私は明らかに混乱してしまい、私が間違ったアプローチをしていると思っているので、本当に助けに感謝します。
var arr = [
['Netherlands', 'PP3a'],
['Austria', 'PP16a'],
['Estonia', 'PP3a'],
['Luxembourg', 'PP3a'],
['Belgium', 'PP3a']
];
var n = [
['Luxembourg', 'PP3a'],
['Netherlands', 'PP3a'],
['Belgium', 'PP3a']
];
function searchForArray(haystack, needle) {
var i, j, current;
for (var i in haystack) {
if (needle.length === haystack[i].length) {
current = haystack[i];
for (j = 0; j < needle.length && needle[j] === current[j]; ++j);
if (j === needle.length)
return i;
}
}
return -1;
}
console.log(searchForArray(arr, n)); // -1 = false
を参照してください。 nの値。たとえば、 'searchForArray(arr、n [0]);'は3を返します。 –
あなたの関数はどのインデックスを返すべきですか?あなたが検索した要素がその順序で存在しない – AndreaBogazzi