gpt4 book ai didi

javascript - 将嵌套对象组合到 JSON 数组中

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

我有一个包含嵌套对象的 JSON 数组,如下所示:

var cData = [{
"name": "Jack Doe",
"desc": "Jack",
"values": [{
"id": "615",
"subject": "Physics",
"Grade": "B"
}, {
"id": "616",
"subject": "Chemistry",
"Grade": "A"
}]
},
{
"name": "Jane Doe",
"desc": "Jane",
"values": [{
"id": "715",
"subject": "Maths",
"Grade": "A+"
}]
},
{
"name": "Jack Doe",
"desc": "Jack",
"values": [{
"id": "617",
"subject": "Maths",
"Grade": "A"
}]
},
{
"name": "Jane Doe",
"desc": "Jane",
"values": [{
"id": "716",
"subject": "Physics",
"Grade": "B"
}]
}]

我想将上面数组中的对象合并到

var cData = [{
"name": "Jack Doe",
"desc": "Jack",
"values": [{
"id": "615",
"subject": "Physics",
"Grade": "B"
}, {
"id": "616",
"subject": "Chemistry",
"Grade": "A"
}, {
"id": "617",
"subject": "Maths",
"Grade": "A"
}]
},

{
"name": "Jane Doe",
"desc": "Jane",
"values": [{
"id": "715",
"subject": "Maths",
"Grade": "A+"
}, {
"id": "716",
"subject": "Physics",
"Grade": "B"
}]
}]

如果有人对我有任何建议那就太好了! jQuery 方法也很受欢迎。

最佳答案

您必须编写函数来合并键下的对象数组,然后获取映射值。这是:

合并功能:

function mergeArray(array) {
var merged = {};
$.each(array, function() {
var item = this;
// Use name as a key
if (typeof merged[item.name] != 'undefined') {
// merge values array
$.merge(merged[item.name].values, item.values);
}
else {
merged[item.name] = item;
}
});
// get values from { key1: value1, key2: value2, ... } object
return getObjectValues(merged);
}

从对象获取值:

function getObjectValues(obj) {
var values = [];
$.each(obj, function(key,valueObj){
values.push(valueObj);
});
return values;
}

这里是working example .

关于javascript - 将嵌套对象组合到 JSON 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948009/

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