【发布时间】:2019-03-12 12:54:51
【问题描述】:
有一个数组:
let x = [12,2,3.5,4,-29];
let squared = x.filter((a) => a>0 && Number.isInteger(a)).map((a) => a**2);
请问,如何使用 reduce() 来写这个?关键是——在给定的数组中获取平方数(仅限整数),大于“0”。有任何想法吗?谢谢。
【问题讨论】:
-
你为什么想要用
reduce来写这个?既然你想创建一个结果数组,filter和map是完全合适的。 -
是的,filter)_ 和 map() 都是合适的。但是,使用 reduce()——我已经证明——一个脚本少用了 10 步。使用 filter() 和 map() 我应该通过一个数组两次。 Reduce() 只允许我一次。
标签: javascript dictionary filter reduce