作者:赵智威_ | 来源:互联网 | 2023-06-08 13:32
我有两个数组,第一个数组是由属性组成的文章数组,第二个数组由第一个数组的元素articles_id组成,如果articles.id =,我想将第一个数组与new_array_articles_sub_
我有两个数组,第一个数组是由属性组成的文章数组,第二个数组由第一个数组的元素articles_id组成,如果articles.id =,我想将第一个数组与new_array_articles_sub_categories中的第二个数组合并= subcategories.article_id
articles = [
{
id: 1,
title: xxx,
description: desc1
},
{
id: 2,
title: yyy,
description: desc2
}
]
subcategories = [
{
id: 1,
name: xxx,
article_id: 1
},
{
id: 2,
name: yyy,
article_id: 1
}
]
new_array_articles_sub_categories = [
{
id: 1,
title: xxx,
description: desc1
subcategories: [
[0] : [
id: 1,
name: xxx,
]
[1] : [
id: 2,
name: yyy,
]
]
},
{
id: 2,
title: yyy,
description: desc2,
subcategories: []
}
]
我尝试这样做,但在输出中结果不一样
var new_array_articles_sub_categories = []
for (var i = 0; i for (var k = 0; k if(articles[i].id == subcategories[k].article_id){
new_array_articles_sub_categories.push({
articles : articles[i],
subcategories : subcategories[k],
})
}
}
}
回答
这是工作片段:
var articles = [{
id: 1,
title: "xxx",
description: "desc1"
},
{
id: 2,
title: "yyy",
description: "desc2"
}
]
var subcategories = [{
id: 1,
name: "xxx",
article_id: 1
},
{
id: 2,
name: "yyy",
article_id: 1
}
]
var new_array_articles_sub_categories = [];
for (var i = 0; i var new_article = {
id: articles[i].id,
title: articles[i].title,
description: articles[i].description,
subcategories: []
};
new_array_articles_sub_categories.push(new_article);
for (var ii = 0; ii if (articles[i].id == subcategories[ii].article_id) {
new_article.subcategories.push({
id: subcategories[ii].id,
name: subcategories[ii].name
})
}
}
}
console.log(new_array_articles_sub_categories);