2 回答

TA贡献1844条经验 获得超8个赞
在地图前使用过滤器
const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = (arr) => {
"use strict";
return arr.filter(value => value>0 && value%2==0).map(value => Math.pow(value, 2));
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

TA贡献1841条经验 获得超3个赞
正如库纳尔的评论所说,filter将是有用的。它接受谓词函数并返回仅包含传递谓词的值的数组副本。
这是一个带有一些其他次要代码清理的示例。
const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = arr => arr
.filter(a => !(a % 2) && a > 0)
.map(a => a ** 2);
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);
添加回答
举报