繁体   English   中英

在JavaScript中使用三元运算符代替if / else

[英]Using ternary operator instead of if/else in javascript

假设您有一个带有随机数的简单数组,给定以下代码,我将如何减少使用三元运算符呈现以下内容的代码行。

[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) 

逻辑OR可以为您解决问题。

 let arr = [1,2,3,4,6,8,9,12,13,15] let myArray = arr.map((val) => val % 2 || val); console.log(myArray) 

您可以采用按位AND &或(带有逻辑OR || )的值,而不是条件(三元)运算符?:

取值为1的按位与,将返回一个或零,具体取决于另一个操作数。

 var array = [1, 2, 3, 4, 6, 8, 9, 12, 13, 15], result = array.map(v => v & 1 || v); console.log(result); 

只需将三元条件写为单个衬里即可:

 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); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM