所以我有这段代码:
if(item.name != "Banana" || "Apple"){
console.log("Good job");
} else{
console.log("Mad");
}
基本上,该部分不起作用!=
它仍然与这些名称一致。不要忽视它们。
答案 0 :(得分:4)
var fruits = ["Banana", "Apple"];
if( fruits.indexOf(item.name) != -1 ){
console.log("name is banana or apple")
} else {
console.log("name is neither banana nor apple")
}
这就是你要找的东西吗?
反正
if(item.name != "Banana" || "Apple")
这段代码将永远评估" Banana"在" Apple"因为or
运算符使用第一个不是假的参数。 "香蕉"被评估为真,那么if条件将始终是
if (item.name != "Banana")
答案 1 :(得分:0)
只是为了抛出另一个选项,你可以通过使用更高阶函数来过滤数组,在本例中是内置数组的filter
函数:
var withoutApplesAndBanans = myArray.filter( function(item) {
return item.name !== 'Apple' && item.name !== 'Banana';
} );
您还可以构建一个“禁止”单词数组,并使用它而不是硬比较:
var forbiddenWords = ['Apple, 'Banana'];
var withoutApplesAndBanans = myArray.filter( item => forbiddenWords.indexOf(item.name) === -1 ) ;