gpt4 book ai didi

javascript - 是否存在使用 reduce() 方法创建数组来存储名称 :value pairs? 的情况

转载 作者:行者123 更新时间:2023-11-29 23:28:52 25 4
gpt4 key购买 nike

我请求协助在 JavaScript 数组 reduce() 方法中使用 arr 作为函数参数。

看了之后,reduce()方法是对array进行累计;并且存在 reduce() 方法以将数组值累加(或总计)为单个值。

我正在寻求理解创建满足特定条件的值数组的目的,如其 block 代码中详述。

reduce() 方法的语法是

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)其中 currentIndex 和 arr 是可选的。

我看到了下面的例子。

var issues = [
{
comments_count: 5,
id: 144948778,
},
{
comments_count: 1,
id: 14383618,
}]

var lonelyComments = issues.reduce(function(arr, issue){
if (issue.comments_count == 1){
arr.push(issue);
}
return arr
}, [] );

答案是:comments_count: 1, id: 14383618

我的选择是使用 filter() 方法而不是上述方法。

最佳答案

我不确定您在寻找什么,但有一些用例可以应用这些辅助方法 (reduce/filter/map)。正如您所说,对于这种特定情况,您会更喜欢 filter,这是完美的选择。

var lonelyComments = issues.filter(function(issue) {
return (issue.comments_count === 1)
}, []);

reduce 用于将 array 减少为基于所有项目的其他内容。假设您有一个 2D 数组 并想从中创建一个对象。然后您可以在这种情况下使用 reduce,如下所示。

var array = [['name', 'john'], ['age', '23']];

var obj = array.reduce(function(accumulator, item) {
accumulator[item[0]] = item[1];
return accumulator;
}, {});

以上只是一个简单的用例,还有更复杂的用例,其中 reduce 可以节省您的时间。

关于javascript - 是否存在使用 reduce() 方法创建数组来存储名称 :value pairs? 的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047722/

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