比较数组中的两个数字,看它们在javascript中是否相等

比较数组中的两个数字,看它们在javascript中是否相等,javascript,Javascript,因此,我正在创建一个匹配的游戏,下面是我的单击侦听器: let clicked = -1; var values = []; //on click listener function for squares var box_clicked = function(box){ box.addEventListener("click", function(){ clicked = clicked + 1; //HERE ARE THE VALUES THAT I WANT TO C

因此,我正在创建一个匹配的游戏,下面是我的单击侦听器:

let clicked = -1;
var values = [];

//on click listener function for squares
var box_clicked = function(box){
box.addEventListener("click", function(){
    clicked = clicked + 1;

    //HERE ARE THE VALUES THAT I WANT TO COMPARE
    var value = this.innerHTML;
    values.push(value);
    if(clicked === 2){
        twoClicked();
    }
    console.log(clicked);
    $(this).addClass("fade z-index");
 });
}
因此,当单击等于2且twoClicked()函数被称为时,此代码将运行:

var twoClicked = function(){
    $("div").removeClass("fade z-index");
    clicked = 0;
    var third_value = values.pop(2);
    console.log(values);

    var x = values.indexOf(0);
    var y = values.indexOf(1);
    alert(x);// this alerts -1 for some reason
    alert(y);// this alerts -1

    //if x and y equal then alert "A MATCH"

    values = [];
    values.push(third_value);

}
如果我提醒x或y,它返回-1,为什么不给我单击的两个框的值呢

如果需要完整代码,请将其签出

该函数返回找到值的第一个元素的索引。如果在数组中找不到该值,则返回-1

此代码

var x = values.indexOf(0);
…将返回包含0的第一个元素的索引。如果没有任何元素设置为0,则返回-1

如果需要索引0处的元素值,只需使用以下命令:

var x = values[0];
函数返回找到值的第一个元素的索引。如果在数组中找不到该值,则返回-1

此代码

var x = values.indexOf(0);
…将返回包含0的第一个元素的索引。如果没有任何元素设置为0,则返回-1

如果需要索引0处的元素值,只需使用以下命令:

var x = values[0];

返回指定值第一次出现在数组中的索引,如果该值不在数组中,则返回-1。可能值0和1不在数组中。如果要从索引0和1中获取值,请使用
值[0]
值[1]
。如果您可以将问题直接显示在问题正文中,这样我们就可以看到您正在推送的值,这将非常有帮助。@nnnnnn感谢您的输入!我从不知道如果数组中没有任何内容,则返回-1。返回指定值第一次出现在数组中的索引,如果值不在数组中,则返回-1。可能值0和1不在数组中。如果要从索引0和1中获取值,请使用
值[0]
值[1]
。如果您可以将问题直接显示在问题正文中,这样我们就可以看到您正在推送的值,这将非常有帮助。@nnnnnn感谢您的输入!我从来不知道它会返回-1,如果数组中没有任何内容。