gpt4 book ai didi

javascript - 根据对象数组中的键创建对象

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

我有一个对象数组,我想根据它们的键创建另一个对象。例如我有一个数组

var arr = [{1: 36011, 2: 18320, 3: 36011, 4: 10570},
{1: 19754, 2: 6722, 3: 19754, 4: 6699},
{1: 15711, 2: 10039, 3: 15711, 4: 4172}]

我希望我的结果数组为

var result = {1:[36011,19754,15711], 2:[18320,6722,10039],..}

有人建议我使用lodash,我对此很陌生,所以我尝试使用reduce

var i = 1, new_arr = {};
_.reduce(arr, function(key, val){
new_arr[i++] = temp1.key
return new_arr;
},{})

我得到的值为未定义。这是什么错误,谁能帮我解决这个问题吗?

image

最佳答案

对于 lodash,您可以使用 _.mergeWith() 并连接定制器函数中的值:

const arr = [{"1":36011,"2":18320,"3":36011,"4":10570},{"1":19754,"2":6722,"3":19754,"4":6699},{"1":15711,"2":10039,"3":15711,"4":4172}]

const result = _.mergeWith({}, ...arr, (ov = [], sv) => ov.concat(sv))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

关于javascript - 根据对象数组中的键创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59122448/

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