【发布时间】:2019-03-13 01:02:17
【问题描述】:
我不知道如何转换和组合 2 个对象数组。
我有这 2 个对象数组:
const selectedCourse = [
{
"courseType": [5],
"id": 26,
"title": "Apple Tart with Apricot Glaze",
},
{
"courseType": [3],
"id": 16,
"title": "Classic Caesar Salad",
},
{
"courseType": [1,2],
"id": 10,
"title": "Lobster Bisque",
},
{
"courseType": [3],
"id": 16,
"title": "Classic Caesar Salad",
},
]
const courseTypes = [
{name: "Hors d'oeuvres", id: 0},
{name: "Soup", id: 1},
{name: "Fish", id: 2},
{name: "Salad", id: 3},
{name: "Main course", id: 4},
{name: "Dessert", id: 5}
]
第一个 JSON 中的 courseType 属性是一个数字数组,对应于第二个 JSON 中的 courseTypes 索引和属性 id。
这个案例的结果应该是这样的:
const result = [
{
courseType: 1,
courseName: "Soup",
courses: [
{
"courseType": [1,2],
"id": 10,
"title": "Lobster Bisque",
}
]
},
{
courseType: 3,
courseName: "Salad",
courses: [
{
"courseType": [1,2],
"id": 10,
"title": "Lobster Bisque",
}
]
},
{
courseType: 3,
courseName: "Fish",
courses: [
{
"courseType": [3],
"id": 16,
"title": "Classic Caesar Salad",
},
{
"courseType": [3],
"id": 16,
},
]
},
{
courseType: 5,
courseName: "Main course",
courses: [
{
"courseType": [5],
"id": 26,
"title": "Apple Tart with Apricot Glaze",
}
]
}
]
预期结果必须通过 courseType 属性过滤来组合 2 个数组。
【问题讨论】:
-
在“result”内的第二个对象上,“courseType”属性等于 2
-
当我阅读第一段时,我想“太好了!终于有人不调用 JavaScript 对象 JSON”了。太糟糕了,它进入了第二段......
-
你的预期输出有
courseType: 3, courseName: "Fish"我想这是一个错字,因为 Fish 在你的输入中有一个 id 2?
标签: javascript arrays javascript-objects