在php中,这是一个很好的方式,询问是一个值是几个选项之一
if( in_array($needle, [1,325,'something else']) ){
//do your thing
}
但是在javascript的世界里有一个等价物。这并不需要编写定制函数,例如:
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(typeof haystack[i] == 'object') {
if(arrayCompare(haystack[i], needle)) return true;
} else {
if(haystack[i] == needle) return true;
}
}
return false;
}
function arrayCompare(a1, a2) {
if (a1.length != a2.length) return false;
var length = a2.length;
for (var i = 0; i < length; i++) {
if (a1[i] !== a2[i]) return false;
}
return true;
}
以上js定制函数的使用案例
if( inArray( somvar, [1,2,'something else']) ){
do the javascript thing
}
来自评论 这是最准确的答案:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
答案 0 :(得分:1)
您可以使用Array.prototype.find()
:
var data = ['Lorem', 'Ipsum', 'Sit']
var foundSit = data.find(function(item){
return item == 'Sit';
});
答案 1 :(得分:0)
var needle = 325;
if( [1,325,'something else'].indexOf(needle) !== -1 ){
//do your thing
};