gpt4 book ai didi

javascript - 用于映射和过滤的 FlatMap vs Reduce - 一个比另一个推荐吗?

转载 作者:行者123 更新时间:2023-12-05 03:50:15 26 4
gpt4 key购买 nike

根据 this SO threadflatMapreduce 当需要映射和过滤一组对象时推荐使用,尤其是当他们想避免多次循环集合时。就个人而言,我更喜欢使用 flatMap,因为我认为它更容易阅读,但这当然完全是主观的。除了 flatMap 的浏览器兼容性问题之外,一种方法是否通常被推荐或优于另一种方法(可能是因为但不限于性能或可读性原因)?

更新:这是来自 flatMap 过滤的引用答案的示例:

var options = [{
name: 'One',
assigned: true
},
{
name: 'Two',
assigned: false
},
{
name: 'Three',
assigned: true
},
];

var assignees = options.flatMap((o) => (o.assigned ? [o.name] : []));
console.log(assignees);

document.getElementById("output").innerHTML = JSON.stringify(assignees);
<h1>Only assigned options</h1>
<pre id="output"> </pre>

最佳答案

其实也没有。对于映射和过滤,您应该使用 mapfilter:

var assignees = options.filter(o => o.assigned).map(o => o.name);

更简单,更易读,它直接表达了你的意图。没有什么比这更清晰了。

如果您关心性能,请始终进行基准测试以查看对您的实际案例的实际影响 - 但不要过早地进行优化。

关于javascript - 用于映射和过滤的 FlatMap vs Reduce - 一个比另一个推荐吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63526473/

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