下面是一個包含至少一個其他數組的數組的簡單示例。我想要一種方法來查找數組中的索引。不過,我有下面的代碼不起作用:如何在數組數組中找到元素的索引?
var arr = [1,2,[1,2]];
console.log(arr.indexOf([1,2])); //-> -1
for (var i = 0; i < arr.length; i++) {
if (arr[i] == [1,2])
return 'true' // does not return true
}
直觀地看,這應該工作,但不會:
if ([1,2] == [1,2]) return 'true' // does not return true
有人可以解釋爲什麼它不工作,並提供一個替代解決方案?謝謝!
你期望什麼結果?通過**參考**比較JS數組中的 –
。這就是爲什麼'[1,2]!= [1,2]' – hindmost
第一個[1,2]與第二個[[1,2]]不一樣:它們是不同的對象。 – apsillers