ES6返回数组值数组

-1 javascript arrays ecmascript-6

我有一些问题,返回一个数组,其值来自valueSet,可被2整除.我的主要问题是涉及的ES6语法,我一直无法在网上找到返回这个的最佳方法.

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

const divisibleNumbers = (array) => {

}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试:

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));
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误消息

Uncaught SyntaxError: Invalid or unexpected token
Run Code Online (Sandbox Code Playgroud)

我无法在控制台中显示我的值.

Cer*_*nce 6

你的问题是

“nine”
Run Code Online (Sandbox Code Playgroud)

是无效的语法 - 字符串文字分隔符应始终使用引号(或反引号,模板文字),而不是卷曲引号.使用

"nine"
Run Code Online (Sandbox Code Playgroud)

代替.

您只需要一个简单的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))
Run Code Online (Sandbox Code Playgroud)