var Array1 = ["hi", "hello"];
var Array2 = ["bye", "goodbye"];
var test = "hi";
switch (test) {
case Array1:
//code
break:
case Array2:
//code
break:
default:
//code
}
答案 0 :(得分:1)
如果您不反对使用库,http://underscorejs.org/有一个交集方法,可以简化这个:
var _ = require('underscore');
var target = [ 'apple', 'orange', 'banana'];
var fruit2 = [ 'apple', 'orange', 'mango'];
var fruit3 = [ 'mango', 'lemon', 'pineapple'];
var fruit4 = [ 'orange', 'lemon', 'grapes'];
console.log(_.intersection(target, fruit2)); //returns [apple, orange]
console.log(_.intersection(target, fruit3)); //returns []
console.log(_.intersection(target, fruit4)); //returns [orange]
交集函数将返回一个包含匹配项的新数组,如果不匹配则返回空数组。
答案 1 :(得分:0)
是的,使用Array.prototype.includes()
来完成此任务:
var Array1 = ["hi", "hello"];
var Array2 = ["bye", "goodbye"];
var test = "hi";
if (Array1.includes(test)) {
console.log("in array1")
}
else if (Array2.includes(test)) {
console.log("in array2")
}
答案 2 :(得分:0)
是否可以仅将一个(数组)的所有值与一个(大小写)进行比较?
不,您的方法是比较"hi" === ["hi", "hello"]
而不是您正在考虑比较这些数组中的每个对象。
您需要使用some
,find
,includes
等功能。
例如:
if (array1.includes('hi')) {
// Do stuff
} else if (array2.includes('hi')) {
// Do stuff
} else {
// Do default stuff
}