【发布时间】:2020-06-27 09:11:12
【问题描述】:
我有两个对象
var JSON_Categories = '[{ "id" : "1", "text" : "Category A"}, { "id" : 2, "text" : "Category B" }]';
var JSON_Article = '[{ "id" : "1", "text" : "Article text A"}, { "id" : 3, "text" : "Article B"}]';
var categories = JSON.parse(JSON_Categories);
var article = JSON.parse(JSON_Article);
如果两个 JSON 值的 id 匹配,我需要为文本类别文本值分配文章文本值。
它尝试过这样的事情,我知道这不是一个好的解决方案,有人可以帮我吗?
var categoryValue = new Object();
categories.forEach(function(category) {
articles.forEach(article => {
if (category.id === article.id) {
categoryValue.id = category.id;
categoryValue.text = article.text;
} else {
categoryValue.id = category.id;
categoryValue.text = category.text;
}
});
});
console.log('categoryValue', categoryValue);
【问题讨论】:
-
您要替换
categories中的所有匹配对象还是只替换一个? -
另外,你想替换原始数组中的值还是用修改后的对象创建一个新数组?
-
只有一个文本值,但是替换文本值后我需要竞争对象,一个值。
-
这不是 JSON 问题。是的,
JSON_Categories和JSON_Article包含 JSON,但除了解析之外,您没有对它们做任何事情。实际比较是问题/问题。
标签: javascript angularjs angular typescript