gpt4 book ai didi

javascript - 如何改造具有 1 个具有特定属性的核心对象的 json

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

我在 json 中有 1 个对象核心,这些对象具有 vendor 属性。还有其他对象具有相同的 vendor 名称但其他值不同。所以我想用下面的格式改造这个 json。

最初我有以下 json。

[
{val: 2, supplier:"A"},
{val: 2, supplier:"b"},
{val: 1, supplier:"c"},
{val: 0, supplier:"b"},
{val: 3, supplier:"A"},
{val: 5, supplier:"c"}
]

我想要以下格式。

{
"A": [{val: 2, supplier:"A"},{val: 3, supplier:"A"}],
"b": [{val: 2, supplier:"b"},{val: 0, supplier:"b"}],
"c":[{val: 1, supplier:"c"}, {val: 5, supplier:"c"}]
.....
}

这里最重要的因素是数据的数量。我知道这么多数据需要相当长的时间。哪种方式最好是服务器端还是客户端?如果是客户端,那么我想要一种非常优化的实现方式。我已经知道使用 forEach 和其他循环(如过滤器)的正常方式。

谢谢

最佳答案

遍历所有项目。跳过 vendor 不存在的错误。

    //where p is the object that needs sorting
var p = [ {val: 2, supplier:"A"}, {val: 2, supplier:"b"}, {val: 1, supplier:"c"}, {val: 0, supplier:"b"}, {val: 3, supplier:"A"}, {val: 5, supplier:"c"} ];

var g = {};
for( var x = 0; x < p.length; x++){
if(!p || !p[x] || p[x].supplier === void(0)){ continue; }
if( g[p[x].supplier]){
g[p[x].supplier].push( p[x] );
continue;
}
g[p[x].supplier] = [p[x]];
}

关于javascript - 如何改造具有 1 个具有特定属性的核心对象的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53984889/

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