gpt4 book ai didi

javascript - abc.filter().map() ==> to reduce() 应该怎么用呢? JavaScript

转载 作者:行者123 更新时间:2023-11-30 09:19:24 25 4
gpt4 key购买 nike

有一个数组:

let x = [12,2,3.5,4,-29];
let squared = x.filter((a) => a>0 && Number.isInteger(a)).map((a) => a**2);

请问,如何使用 reduce() 编写此代码?重点是——获取给定数组中大于“0”的平方数(仅整数)。有任何想法吗?谢谢。

最佳答案

你可以使用 conditional (ternary) operator ?:并取平方值或空数组以连接到累加器。

var x = [12, 2, 3.5, 4, -29],
squared = x.reduce((r, a) => r.concat(a > 0 && Number.isInteger(a)
? a ** 2
: []
), []);

console.log(squared);

或者,正如 Bergi 所建议的那样,随着值(value)观的传播。

var x = [12, 2, 3.5, 4, -29],
squared = x.reduce((r, a) => a > 0 && Number.isInteger(a) ? [...r, a ** 2] : r , []);

console.log(squared);

关于javascript - abc.filter().map() ==> to reduce() 应该怎么用呢? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com