**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
2天前关闭。
Improve this question
我需要比较和操作JSON对象。
第一个对象
let data1 = {
"id": "111",
"entity_id": "222",
"text_id": "333",
"details": [{
"value": 1000,
"comp_id": "444",
"CompName": "driving"
}]
}
第二对象
let data2 = [{
"id": "111",
"text_id": "333",
"criteria_type": "TXT",
"value": 1000,
"comp": {
"id": "444",
"name": "driving"
}
}, {
"id": "222",
"text_id": "444",
"criteria_type": "TXT",
"value": 2000,
"comp": {
"id": "555",
"name": "swiming"
}
}]
有两个对象data1
和data2
。这里,我需要比较data1.details
数组与data2
数组key =〉data1.details.comp_id
与data2.comp.id
。如果不匹配,我需要将value
、id
和name
推送到data1
对象。请帮助我解决此问题。
结果对象
data1
将为:
{
"id": "111",
"entity_id": "222",
"text_id": "333",
"declaration_details": [{
"value": 1000,
"comp_id": "444",
"CompName": "driving",
}, {
"value": 2000,
"comp_id": "555",
"CompName": "swiming",
}]
}
型
3条答案
按热度按时间jm81lzqq1#
根据预期的结果,难道不需要将
data2
Map到结果对象的declaration_details
吗?mhd8tkvw2#
使用
filter()
在data2
中查找与comp.id
匹配的对象,然后使用map()
创建一个新数组,最后将mappedData2
数组添加到declaration_details
中的data1
。f0brbegy3#
你可以使用JSON.stringify(yourJsonObject)将对象转换成字符串,然后你可以像这样比较它们。
areEqual = string1 == string2
。确保两个对象的对象属性顺序相同。