ES6返回数组值的数组

时间:2018-08-09 18:32:21

标签: javascript arrays ecmascript-6

在返回一个数组时,我遇到了一些问题,该数组的valueSet中的值可以被二整除。我的主要问题是所涉及的ES6语法,但我一直无法在线找到返回此语法的最佳方法。

const valuesSet = [2, 4, 6, 8, true, false, "nine"]

const divisibleNumbers = (array) => {

}

现在我正在尝试:

const valuesSet = [2, 4, 6, 8, true, false, "nine"]

var result = [];

const divisibleNumbers = (array) => {


    for (var x = 0; x < array.length; x++) {
        if (array[x] % 2) {
        result.push(array[x]);
        }
  }
  return result;

}

console.log (divisibleNumbers(valueSet));

但是我收到错误消息

Uncaught SyntaxError: Invalid or unexpected token

而且我无法在控制台中显示我的值。

2 个答案:

答案 0 :(得分:6)

您的问题是

“nine”

是无效的语法-字符串文字定界符应始终使用直接引号(或反引号,用于模板文字),而不是卷曲引号。使用

"nine"

相反。

您只需要一个简单的filter

const valuesSet = [2, 4, 6, 8, true, false, "nine"]

const divisibleNumbers = array => array.filter(
  item => Number.isInteger(item) && item % 2 === 0
)
console.log(divisibleNumbers(valuesSet))

答案 1 :(得分:0)

您可以使用过滤器轻松完成此操作。

const divisibleBy2 = valuesSet.filter(e => typeof e === 'number' && e % 2 == 0);