gpt4 book ai didi

javascript - 使用累加器映射到对象

转载 作者:行者123 更新时间:2023-11-30 10:14:38 24 4
gpt4 key购买 nike

在 lodash 中是否有更惯用的 mapToObject 方法?

var accumulator = {};
_.map([1, 2, 3], function (number) {
accumulator[number] = number + 1;
});

// {1: 2, 2: 3, 3: 4}

有没有办法在不显式为 map 函数提供累加器的情况下做到这一点?

_.mapToObject([1, 2, 3], function (accumulator, number) { 
return accumulator[number] = number + 1;
}

最佳答案

这就是 .reduce() 的用途:

var accumulator = 
_.reduce([1, 2, 3], function(acc, num) { acc[num] = num + 1; return acc; }, {});

在现代浏览器中,Array 原型(prototype)上有一个原生的 .reduce(),它或多或少与 lodash 和 Underscore 提供的版本相同。

.map() API 用于从现有数组创建新数组。如果您只想对数组的每个元素执行某些操作,您可以使用 .forEach().filter() API 用于制作数组中选定元素的数组。

关于javascript - 使用累加器映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557727/

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