javascript - 在 JavaScript ES6 中使用 if-else

标签 javascript ecmascript-6

我正在学习 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/

相关文章:

javascript - imacros 不停地运行 .iim

javascript - 如何使用 Array.from 使用 MIN MAX 生成范围

javascript - 为什么浏览器看不到我的模块?

reactjs - React Redux 中的表单状态

javascript - 将带有函数的 Javascript 对象转换为字符串

javascript - Websocket 自动完成显示奇怪的行为

javascript - 图片加载时间和onload函数调用

javascript - Chrome 使用 Pixi.js 加载 Sprite

javascript - 将对象插入对象数组

javascript - Webpack - 加载 block 0 失败