我正在学习 ES6,下面是我运行良好的 ES5 代码 -
var myArr = [34,45,67,34,2,67,1,5,90];
var evenArr = [];
var oddArr = [];
myArr.map(function(x){
if(x%2==0) evenArr.push(x);
else oddArr.push(x);
});
现在,如果我将其转换为 ES6,我会在 if
附近收到 Unexpected token
错误,让我知道我在这里做错了什么 -
我的ES6代码-
var myArr = [34,45,67,34,2,67,1,5,90];
var evenArr = [];
var oddArr = [];
myArr.map( x => if(x%2==0) evenArr.push(x) else oddArr.push(x) )
最佳答案
那是因为箭头函数在您传递语句时接受表达式。
您的代码具有误导性:Array.prototype.map
暗示您会以某种方式使用结果,而您却没有。
如果您想改进代码的语义,您可以使用专门设计用于遍历数组而不返回任何内容的Array.prototype.forEach
:
var myArr = [34,45,67,34,2,67,1,5,90];
var evenArr = [];
var oddArr = [];
myArr.forEach(x => {
if (x % 2 === 0) {
evenArr.push(x);
} else {
oddArr.push(x);
}
});
引用资料:
关于javascript - 在 JavaScript ES6 中使用 if-else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396160/