假设给定以下代码,您有一个带有随机数的简单数组,我将如何减少使用三元运算符呈现以下内容的代码行。
[1、2、1、4、6]
let arr = [1, 2, 3, 4, 6, 8, 9, 12, 13, 15];
let myArray = arr.map((val, i, arr) => {
if (val % 2 === 0) {
return val
} else {
return val % 2
}
});
console.log(myArray)
答案 0 :(得分:3)
逻辑或可以为您解决问题。
let arr = [1,2,3,4,6,8,9,12,13,15]
let myArray = arr.map((val) => val % 2 || val);
console.log(myArray)
答案 1 :(得分:2)
您可以使用bitwise AND &
或(带有logical OR ||
)的值,而不是conditional (ternary) operator ?:
。
取值为1的按位与,将返回一个或零,具体取决于另一个操作数。
var array = [1, 2, 3, 4, 6, 8, 9, 12, 13, 15],
result = array.map(v => v & 1 || v);
console.log(result);
答案 2 :(得分:1)
只需将三元条件写为单个衬里即可
const arr = [1,2,3,4,6,8,9,12,13,15];
const myArray = arr.map((val) => val % 2 === 0 ? val: val % 2);
console.log(myArray);