Javascript 检查是否在数组中找到值

Javascript 检查是否在数组中找到值,javascript,arrays,Javascript,Arrays,我试图检查数组中是否包含某个数字 我试过使用if(矿山中的值)和var value=this.value;var isMine=矿山指数(价值) 但这两种方法都没有达到预期效果。有人能解释为什么吗? JS var=[] 而(长度

我试图检查数组中是否包含某个数字

我试过使用
if(矿山中的值)
var value=this.value;var isMine=矿山指数(价值)

但这两种方法都没有达到预期效果。有人能解释为什么吗?

JS
var=[]
而(长度<9){
var randomnumber=Math.ceil(Math.random()*30)
var=false;

对于(var i=0;i当它是一个数组时,您应该使用
indexOf
,但您有两个主要问题

首先,类型必须匹配。数组有数字,但元素的值始终是字符串。
简单的解决方案是将值解析为整数

var value = parseInt( this.value, 10 );
其次,
indexOf
返回索引,它将为数组中的第一项返回
0
,并且
0
是错误的,因此您必须实际检查
-1
,如果不匹配,
indexOf
将返回该索引

if (mines.indexOf(value) != -1) {  ...

一点简化,你会得到

var mines = [];
while (mines.length < 9){
    var randomnumber = Math.ceil(Math.random() * 30);
    if ( mines.indexOf(randomnumber) == -1 ) 
        mines.push(randomnumber);
}

$(document).ready(function() {
    $(".blank").click(function() {
        var isBomb = mines.indexOf( parseInt( this.value, 10 )) != -1;
        $(this).removeClass('blank').addClass(isBomb ? 'bomb' : 'safe');
    });
});
var=[];
而(长度<9){
var randomnumber=Math.ceil(Math.random()*30);
if(mines.indexOf(randomnumber)=-1)
地雷。推送(随机数);
}
$(文档).ready(函数(){
$(“.blank”)。单击(函数(){
var isBomb=mines.indexOf(parseInt(this.value,10))!=-1;
$(this.removeClass('blank').addClass(isBomb?'bomb':'safe');
});
});

当它是一个数组时,您应该使用
indexOf
,但您有两个主要问题

首先,类型必须匹配。数组有数字,但元素的值始终是字符串。
简单的解决方案是将值解析为整数

var value = parseInt( this.value, 10 );
其次,
indexOf
返回索引,它将为数组中的第一项返回
0
,并且
0
是错误的,因此您必须实际检查
-1
,如果不匹配,
indexOf
将返回该索引

if (mines.indexOf(value) != -1) {  ...

一点简化,你会得到

var mines = [];
while (mines.length < 9){
    var randomnumber = Math.ceil(Math.random() * 30);
    if ( mines.indexOf(randomnumber) == -1 ) 
        mines.push(randomnumber);
}

$(document).ready(function() {
    $(".blank").click(function() {
        var isBomb = mines.indexOf( parseInt( this.value, 10 )) != -1;
        $(this).removeClass('blank').addClass(isBomb ? 'bomb' : 'safe');
    });
});
var=[];
而(长度<9){
var randomnumber=Math.ceil(Math.random()*30);
if(mines.indexOf(randomnumber)=-1)
地雷。推送(随机数);
}
$(文档).ready(函数(){
$(“.blank”)。单击(函数(){
var isBomb=mines.indexOf(parseInt(this.value,10))!=-1;
$(this.removeClass('blank').addClass(isBomb?'bomb':'safe');
});
});

当它是一个数组时,您应该使用
indexOf
,但您有两个主要问题

首先,类型必须匹配。数组有数字,但元素的值始终是字符串。
简单的解决方案是将值解析为整数

var value = parseInt( this.value, 10 );
其次,
indexOf
返回索引,它将为数组中的第一项返回
0
,并且
0
是错误的,因此您必须实际检查
-1
,如果不匹配,
indexOf
将返回该索引

if (mines.indexOf(value) != -1) {  ...

一点简化,你会得到

var mines = [];
while (mines.length < 9){
    var randomnumber = Math.ceil(Math.random() * 30);
    if ( mines.indexOf(randomnumber) == -1 ) 
        mines.push(randomnumber);
}

$(document).ready(function() {
    $(".blank").click(function() {
        var isBomb = mines.indexOf( parseInt( this.value, 10 )) != -1;
        $(this).removeClass('blank').addClass(isBomb ? 'bomb' : 'safe');
    });
});
var=[];
而(长度<9){
var randomnumber=Math.ceil(Math.random()*30);
if(mines.indexOf(randomnumber)=-1)
地雷。推送(随机数);
}
$(文档).ready(函数(){
$(“.blank”)。单击(函数(){
var isBomb=mines.indexOf(parseInt(this.value,10))!=-1;
$(this.removeClass('blank').addClass(isBomb?'bomb':'safe');
});
});

当它是一个数组时,您应该使用
indexOf
,但您有两个主要问题

首先,类型必须匹配。数组有数字,但元素的值始终是字符串。
简单的解决方案是将值解析为整数

var value = parseInt( this.value, 10 );
其次,
indexOf
返回索引,它将为数组中的第一项返回
0
,并且
0
是错误的,因此您必须实际检查
-1
,如果不匹配,
indexOf
将返回该索引

if (mines.indexOf(value) != -1) {  ...

一点简化,你会得到

var mines = [];
while (mines.length < 9){
    var randomnumber = Math.ceil(Math.random() * 30);
    if ( mines.indexOf(randomnumber) == -1 ) 
        mines.push(randomnumber);
}

$(document).ready(function() {
    $(".blank").click(function() {
        var isBomb = mines.indexOf( parseInt( this.value, 10 )) != -1;
        $(this).removeClass('blank').addClass(isBomb ? 'bomb' : 'safe');
    });
});
var=[];
而(长度<9){
var randomnumber=Math.ceil(Math.random()*30);
if(mines.indexOf(randomnumber)=-1)
地雷。推送(随机数);
}
$(文档).ready(函数(){
$(“.blank”)。单击(函数(){
var isBomb=mines.indexOf(parseInt(this.value,10))!=-1;
$(this.removeClass('blank').addClass(isBomb?'bomb':'safe');
});
});

您可以这样做:

var myArray = ["one", "two", "three", "four"];
var myString = myArray.join("***") + "***";
var mySubstring = "four";
var inArray = myString.indexOf(mySubstring + "***");

if(inArray >= 0){alert("It's in array");}
您可以这样做:

var myArray = ["one", "two", "three", "four"];
var myString = myArray.join("***") + "***";
var mySubstring = "four";
var inArray = myString.indexOf(mySubstring + "***");

if(inArray >= 0){alert("It's in array");}
您可以这样做:

var myArray = ["one", "two", "three", "four"];
var myString = myArray.join("***") + "***";
var mySubstring = "four";
var inArray = myString.indexOf(mySubstring + "***");

if(inArray >= 0){alert("It's in array");}
您可以这样做:

var myArray = ["one", "two", "three", "four"];
var myString = myArray.join("***") + "***";
var mySubstring = "four";
var inArray = myString.indexOf(mySubstring + "***");

if(inArray >= 0){alert("It's in array");}

this.value
返回一个字符串。请尝试此操作。已更新


this.value
返回一个字符串。请尝试此操作。已更新


this.value
返回一个字符串。请尝试此操作。已更新


this.value
返回一个字符串。请尝试此操作。已更新


var value=+this.value


将字符串转换为整数

var value=+this.value


将字符串转换为整数

var value=+this.value


将字符串转换为整数

var value=+this.value


将字符串转换为整数

更改为
if(mines.indexOf(value)>-1)
为什么不使用inArray?检查:更改为
if(mines.indexOf(value)>-1)
为什么不使用inArray?检查:更改为
if(mines.indexOf(value)>-1)
为什么不使用inArray?检查:更改为
if(mines.indexOf)(值)>-1)
为什么不使用inArray?请检查以下内容: