如何在数组中指定多个条件而不是使用多个“||”
How to specify multiple conditions in an array instead of using multiple " | | "
我有一系列条件
let conditions = [1,3,5,7,9];
let values = [1,2,3,4,5,6,7,8,9,0]
我要
if (values == 1 || values== 3 || values == 5 || values == 7 || values == 9 ){
return values * 3
} else {
return value * 2
}
有人可以帮助避免编写多个 OR 条件并在 1 条语句内完成吗?
谢谢
首先:您可以使用 map
运算符遍历您的值
然后通过 includes
检查
let conditions = [1,3,5,7,9];
let values = [1,2,3,4,5,6,7,8,9,0]
const result = values.map(val => conditions.includes(val) ? val * 3 : val * 2);
console.log(result)
我建议根据您的条件创建一个 Set
,这对于大型数据集会更有效。然后您可以使用 Array.map()
创建您的结果:
let conditions = new Set([1,3,5,7,9]);
let values = [1,2,3,4,5,6,7,8,9,0]
function getResult(values, conditions) {
return values.map(value => conditions.has(value) ? value * 3: value * 2)
}
console.log('getResult:', getResult(values, conditions));
你可以这样做:
const toAvoidArray = [1, 3, 5, 7, 9]
if (toAvoidArray.indexOf(value) !== -1) {
return values * 3
} else {
return value * 2
}
或者在你的情况下,你可以这样做:
if (value%2!==0) {
return values * 3
} else {
return value * 2
}
我有一系列条件
let conditions = [1,3,5,7,9];
let values = [1,2,3,4,5,6,7,8,9,0]
我要
if (values == 1 || values== 3 || values == 5 || values == 7 || values == 9 ){
return values * 3
} else {
return value * 2
}
有人可以帮助避免编写多个 OR 条件并在 1 条语句内完成吗? 谢谢
首先:您可以使用 map
运算符遍历您的值
然后通过 includes
let conditions = [1,3,5,7,9];
let values = [1,2,3,4,5,6,7,8,9,0]
const result = values.map(val => conditions.includes(val) ? val * 3 : val * 2);
console.log(result)
我建议根据您的条件创建一个 Set
,这对于大型数据集会更有效。然后您可以使用 Array.map()
创建您的结果:
let conditions = new Set([1,3,5,7,9]);
let values = [1,2,3,4,5,6,7,8,9,0]
function getResult(values, conditions) {
return values.map(value => conditions.has(value) ? value * 3: value * 2)
}
console.log('getResult:', getResult(values, conditions));
你可以这样做:
const toAvoidArray = [1, 3, 5, 7, 9]
if (toAvoidArray.indexOf(value) !== -1) {
return values * 3
} else {
return value * 2
}
或者在你的情况下,你可以这样做:
if (value%2!==0) {
return values * 3
} else {
return value * 2
}