gpt4 book ai didi

javascript - 在二维数组中搜索

转载 作者:行者123 更新时间:2023-11-29 20:18:35 24 4
gpt4 key购买 nike

我知道我遗漏了一些明显的东西,但我似乎找不到我的错误。我想看看一个数组是否在另一个二维数组中。这是我的代码:

var cell = [0, 0];
var population = [[0, 0], [1, 1]];

if (cell == population[0]) {
alert("Cell found within population");
}
else if ([0, 0] == population[0]) {
alert("Array found within population");
}
else {
alert("Neither found within population");
}

我使用第二个条件只是为了确保 cell 和 population[0] 的值不相等。但事实证明,它们都不匹配。我测试过 (cell[0] == population[0][0]),这似乎有效。

如有任何澄清,我将不胜感激。谢谢!

最佳答案

这里的问题是 javascript 中数组的 == 运算符比较内存地址而不是实际值。这就是为什么您注意到 (cell[0] == population[0][0]) 返回 true(您正在比较值)。

您应该遍历数组中的元素以比较它们。这是我的意思的一个例子。

function checkEquivalence(arr1, arr2){
if(arr1.length != arr2.length)
return false;
for (i = 0; i < arr2.length; i++)
{
if(arr1[i] != arr2[i])
return false;
}
return true;
}

现在您可以运行操作 checkEquivalence( cell, population[0] );

关于javascript - 在二维数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5071091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com