Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中比较数组索引的最佳方法是什么?_Javascript_Arrays_Sorting_Web Applications - Fatal编程技术网

在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。我想我得换个方向了。谢谢你的意见!