var a = [[1,0],[0,1],[0,0]];
如果我想找到[0,0]
的索引位置?如何在 JavaScript 中完成?
我检查了一些地方和 indexOf 功能,但它不适用于多维数组。
答案 0 :(得分:0)
您可以制作索引的哈希图并访问
var a = [[1,0],[0,1],[0,0]],
b = a.reduce((a,c,i)=>{
a[c] = i;
return a;
},{});
console.log('Index of [0,0] is ' +b[ [0,0] ] )
答案 1 :(得分:0)
您可以使用Array#some
进行外部迭代,使用Array#every
进行内部迭代,并检查长度和项目。
var array = [[1, 0], [0, 1], [0, 0]],
find = [0, 0],
index = -1;
array.some(function (a, i) {
if (a.length === find.length && a.every(function (b, j) { return b === find[j]; })) {
index = i;
return true;
}
});
console.log(index);

答案 2 :(得分:0)
Array.prototype.every()
循环和var a = [[1,0],[0,1],[0,0]], len = a.length,
search_item = [0,1], pos = -1;
while (len--) {
if ((a[len].length === search_item.length)
&& a[len].every(function(el, i){ return el == search_item[i]; })) {
pos = len;
break;
}
}
console.log(pos);
函数快速 (在性能方面)解决方案:
{{1}}