javascript数组多维搜索索引
问题描述:
我在javascript中有一个数组。我一直在试图搜索索引,但它非常令人沮丧。数组内有一个对象,而对象内部有一个数组作为值。javascript数组多维搜索索引
这是源代码如下所示:
rows = [{"id":"id0","cell":["array1","array2"]},{"id":"id1","cell":["array3","array4"]}];
我已经试过这样:
var v = {cell:["array1","array2"]};
rows.indexOf(v)
,也有一个单选按钮:
<input type="radio" name='array' value="array1, array2">
jQuery的位置:
var i = $("input:checked").val().split(',');
rows.indexOf(i)
其中索引结果为-1
答
试试这个。这是一种循环遍历每行索引的函数式方法,如果匹配则返回true。
var rows = [{"id":"id0","cell":["array1","array2"]},{"id":"id1","cell":["array3","array4"]}];
var index = rows.findIndex(function(i) {
return JSON.stringify(i.cell) == JSON.stringify(["array1","array2"])
});
console.log(index);
输出应该返回0
。我们需要将这两个对象转换为JSON.strings的原因是由于javascripts如何处理两个对象的相等性。你可以阅读更多关于它here。
+0
,但请记住,如果数组是'[“array2”,“array1”]'它不匹配。 –
+0
如何调用elemen的数组单元格foreach语句? – faddi
@ObsidianAge是的,我使用split()使数组的值为 – faddi