假设我有这个:
var blockedTile = new Array("118", "67", "190", "43", "135", "520");
还有更多的数组元素,但出于可读性考虑,这些元素很少。无论如何,我可以做一个“for”循环,但每次你点击地图时,它会做500个循环……有没有其他方法来查看某个字符串是否在数组中?
假设我有这个:
var blockedTile = new Array("118", "67", "190", "43", "135", "520");
还有更多的数组元素,但出于可读性考虑,这些元素很少。无论如何,我可以做一个“for”循环,但每次你点击地图时,它会做500个循环……有没有其他方法来查看某个字符串是否在数组中?
当前回答
在数组的例子中,它在php (in_array)中是一样的
var ur_fit = ["slim_fit", "tailored", "comfort"];
var ur_length = ["length_short", "length_regular", "length_high"];
if(ur_fit.indexOf(data_this)!=-1){
alert("Value is avail in ur_fit array");
}
else if(ur_length.indexOf(data_this)!=-1){
alert("value is avail in ur_legth array");
}
其他回答
if(array.indexOf("67") != -1) // is in array
为什么不用array。filter呢?
var array = ['x','y','z'];
array.filter(function(item,index,array){return(item==YOURVAL)}).
只需将其复制到代码中,就可以了:
Array.prototype.inArray = function (searchedVal) {
return this.filter(function(item,index,array){return(item==searchedVal)}).length==true
}
var myArray = [2,5,6,7,9,6];
myArray.includes(2) // is true
myArray.includes(14) // is false
我认为最简单的方法是:
(118 in blockedTile); //is true
在数组的例子中,它在php (in_array)中是一样的
var ur_fit = ["slim_fit", "tailored", "comfort"];
var ur_length = ["length_short", "length_regular", "length_high"];
if(ur_fit.indexOf(data_this)!=-1){
alert("Value is avail in ur_fit array");
}
else if(ur_length.indexOf(data_this)!=-1){
alert("value is avail in ur_legth array");
}