indexOf()
遍历多维数组的语法是什么?
例如:
var x = [];
// do something
x.push([a,b]);
x.indexOf(a) // ??
我想找到“a
”并用“b
”做一些事情。但它不起作用...由于此方法本身应该是迭代的,所以我认为使用任何其他迭代都不是一件好事。目前我使用 2 个简单的数组来模拟这个,但我想这应该也能以某种方式工作......
最佳答案
简单地说:indexOf()
不是这样工作的。如果您执行以下操作,它可能会起作用:
var x = [];
// do something
z = [a,b];
x.push(z);
x.indexOf(z);
但是你已经有了 z.b 不是吗?因此,如果您必须忽略所有认为使用对象(或字典)实际上更容易的人的建议,您将不得不使用 Ates Goral的 approach ,或者自己搜索索引:
Array.prototype.indexOf0 =
function(a){for(i=0;i<this.length;i++)if(a==this[i][0])return i;return null;};
var x = [];
// do something
x.push([a,b]);
x.indexOf0(a); //=> 0
关于javascript - 多维数组的 indexOf 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1427640/