gpt4 book ai didi

javascript - 如何通过现有数组标签明智地收集/制作新数组?

转载 作者:行者123 更新时间:2023-11-30 11:37:05 25 4
gpt4 key购买 nike

如何根据现有数组的键切片创建新数组?

例如我的输入是:

var array = [{"one":"1"},{"one":"01"},{"one":"001"},{"one":"0001"},{"one":"00001"},
{"two":"2"},{"two":"02"},{"two":"002"},{"two":"0002"},{"two":"00002"},
{"three":"3"},{"three":"03"},{"three":"003"},{"three":"0003"},{"three":"00003"},
{"four":"4"},{"four":"04"},{"four":"004"},{"four":"0004"},{"four":"00004"},
{"five":"5"},{"five":"05"},{"five":"005"},{"five":"0005"},{"five":"00005"} ];

我的输出应该是:

var outPutArray = [
{"one" : ["1","01","001","0001","00001"]},
{"two":["2","02","002","0002","00002"]},
{"three":["3","03","003","0003","00003"]},
{"four":["4","04","004","0004","00004"]},
{"five":["5","05","005","0005","00005"]}
]

javascript 中是否有任何简单易行的方法来实现这一点?

最佳答案

您可以先创建数组,然后使用 forEach() 循环添加到该数组,并使用 thisArg 参数检查是否已存在具有相同键的对象。

var array = [{"one":"1","abc":"xyz"},{"one":"01"},{"one":"001"},{"one":"0001"},{"one":"00001"},{"two":"2"},{"two":"02"},{"two":"002"},{"two":"0002"},{"two":"00002"},{"three":"3"},{"three":"03"},{"three":"003"},{"three":"0003"},{"three":"00003"},{"four":"4"},{"four":"04"},{"four":"004"},{"four":"0004"},{"four":"00004"},{"five":"5"},{"five":"05"},{"five":"005"},{"five":"0005"},{"five":"00005","abc":"xya"} ];

var result = [];
array.forEach(function(e) {
var that = this;

Object.keys(e).forEach(function(key) {
if(!that[key]) that[key] = {[key]: []}, result.push(that[key])
that[key][key].push(e[key])
})
}, {})

console.log(result);

关于javascript - 如何通过现有数组标签明智地收集/制作新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029064/

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