gpt4 book ai didi

JavaScript/jQuery : Compare 2 jSON objects and output result into new object

转载 作者:行者123 更新时间:2023-12-03 03:17:49 27 4
gpt4 key购买 nike

我有一个 api 调用,它使用更新的 jSON 对象进行回复,我还有 1 个静态 jSON 对象文件。我正在尝试比较每个具有相同名称的团队的对象中的值。

因此,如果 Team John 旧文件中有 22 个,现在有 28 个,则新对象应将 Team John 输出为 6。减去 2 并显示差值。

我做了一个jsFiddle来帮助理解和更新。

最新更新:答案已由 mscdeveloper 解决!检查下面他的帖子和答案。

更新(不是答案):我在 stackoverflow 中搜索时找到了一个解决方案,这正是我想要的,但我在此过程中丢失了团队的名称,我该如何修复代码到它不删除它的地方,我知道它与我拥有的 groupByTypeID 函数有关?

更新了 jsFiddle: https://jsfiddle.net/kqmfsz9n/5/

   var obj1 = {
"teams": [
{
name: 'Test 1',
numMembers: '50'
},
{
name: 'Test 2',
numMembers: '12'
}
]
};

var obj2 = {
"teams": [
{
name: 'Test 1',
numMembers: '75'
},
{
name: 'Test 2',
numMembers: '18'
}
]
};

var newObj = {};
function groupByTypeID(arr) {
var groupBy = {};
jQuery.each(arr, function () {
groupBy[this.name] = parseInt(this.numMembers);
});
return groupBy;
}

var userArrayGroups = groupByTypeID(obj2.teams);
var origArrayGroups = groupByTypeID(obj1.teams);

var newObj = [];
for (var prop in userArrayGroups) {
newObj[prop] = userArrayGroups[prop] - origArrayGroups[prop];
newObj.push(userArrayGroups[prop] - origArrayGroups[prop]);
if (newObj[prop] == 0) {
delete newObj[prop];
}
}

console.log(newObj);

感谢所有帮助!谢谢。

最佳答案

    var obj1 = {
"teams": [
{
name: 'Test 1',
numMembers: '50'
},
{
name: 'Test 2',
numMembers: '12'
}
]
};

var obj2 = {
"teams": [
{
name: 'Test 1',
numMembers: '75'
},
{
name: 'Test 2',
numMembers: '18'
}
]
};

var newObj = {};
var items_arr=[]; //array of obj2 not exist in obj1

if(obj1.teams){ //if exist array of teams obj1
var o1teams = obj1.teams;
if(obj2.teams){ //if exist array of teams obj2
var o2teams = obj2.teams;
for(var key2 in o2teams){
var o2teams = obj2.teams;
for(var key1 in o1teams){
if(o2teams[key2].name==o1teams[key1].name){
var numMembers_o1_int=parseInt(o1teams[key1].numMembers)||0;
var numMembers_o2_int=parseInt(o2teams[key2].numMembers)||0;
var result_numMembers_int=numMembers_o2_int-numMembers_o1_int;
var result_numMembers=result_numMembers_int+''; //convert to string
var items_for_add=o1teams[key1];
items_for_add.numMembers=result_numMembers;
items_arr.push(items_for_add);
}
}
}
}
}
newObj.items=items_arr;

console.log(newObj);

https://jsfiddle.net/mscdeveloper/uxv1t2a7/3/

关于JavaScript/jQuery : Compare 2 jSON objects and output result into new object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46694073/

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