在javascript中比较数组索引的最佳方法是什么?
我试图比较数组的索引。然而,我不确定我是否正确地进行了这项工作。我的想法是:在javascript中比较数组索引的最佳方法是什么?,javascript,arrays,sorting,web-applications,Javascript,Arrays,Sorting,Web Applications,我试图比较数组的索引。然而,我不确定我是否正确地进行了这项工作。我的想法是: let tempArray = [tempInfo1,tempInfo2]; if(tempArray[0] == tempArray[1]){ console.log('true'); }else{ console.log('false'); } 我的方向对吗?还是这一切都结束了 本质上,我正在尝试做一个“配对游戏”。单击一个元素将该元素存储在tempArray(tempInfo1)中,单击第二个
let tempArray = [tempInfo1,tempInfo2];
if(tempArray[0] == tempArray[1]){
console.log('true');
}else{
console.log('false');
}
我的方向对吗?还是这一切都结束了
本质上,我正在尝试做一个“配对游戏”。单击一个元素将该元素存储在tempArray(tempInfo1)中,单击第二个元素将第二个值存储在该数组(tempInfo2)中。然后我试着检查这些值是否相同-做点什么。如果你不做别的事。这有帮助吗?首先,如评论中所述,您正在比较值。索引只有0,1,2,3,4。。。如果您知道索引中的内容,那么这可能是一个选项 实际上,如果您比较对象(和作为特殊类型对象的数组),则可能会失败 想象一下:
var arrayOfDifferentTypes = [
{
somekey: "value"
},
{
somekey: "value"
},
[1, 2, 3, 4],
[1, 2, 3, 4],
"data",
"data",
18,
18
];
console.log(arrayOfDifferentTypes[0] === arrayOfDifferentTypes[1]); // false
console.log(arrayOfDifferentTypes[2] === arrayOfDifferentTypes[3]); // false
console.log(arrayOfDifferentTypes[4] === arrayOfDifferentTypes[5]); // true
console.log(arrayOfDifferentTypes[6] === arrayOfDifferentTypes[7]); // true
正如你所看到的,它将失败。
您可以检查或进行此类比较。您不是在比较数组的索引,根据您的描述,您正在尝试制作匹配游戏,匹配数组中的前两个值
是您正朝着正确的方向前进,但请使用==而不是==来比较数值。来引导您朝着正确的方向前进 您可能正在使用4x4个元素 假设一个元素看起来像这样 HTML
JavaScript
let lastSelected = null;
document.getElementById('card', (event) => {
if(event.target.value === lastSelected.value){
// remove both elements
} else {
lastSelected = event.target
}
});
使用
==
,而不是==
。这似乎很违反直觉,你应该使用对象或地图来代替我的方向正确吗?
不确定你问的是什么,所以很难说。实际上,你是在比较两个值,而不是它们的索引你不是在比较索引,你是在比较值,根据定义,同一数组的索引必须不同。hmmm ok。我想我得换个方向了。谢谢你的意见!