在数组中查找子数组

2024-02-09

我有数组

array = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]];

我想找到子数组的索引

[1, 2, 3, 4]

所以它应该返回值 0
但每次我尝试这样做时,它都会返回-1

这是我尝试过的:

array.indexOf(1, 2, 3, 4);

我知道这是因为我正在搜索的子数组中有逗号。
我怎样才能解决这个问题


这是一个快速但肮脏的解决方案,它将数组作为字符串进行比较:

var array = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]];

var target = [9, 10, 11, 12].toString();
for(var i=0; i<array.length; i++) {
   if(target === array[i].toString()) break;
}

if(i >= array.length) {
    console.log("not found");
} else {
    console.log("found at index " + i);
}

http://jsfiddle.net/jMfwQ/ http://jsfiddle.net/jMfwQ/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在数组中查找子数组 的相关文章

随机推荐