在返回一个数组时,我遇到了一些问题,该数组的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
而且我无法在控制台中显示我的值。
答案 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);