【发布时间】:2020-01-17 21:17:02
【问题描述】:
我正在尝试比较 NodeJs 中的两个 JSONs 文件。 如果有与地点 ID 匹配的评论,我需要将评论数据推送到地点 JSON 中。如果没有匹配的评论,它会推送一个空数组。
代码如下:
//放置 JSON
[{
"id": 1,
"title": "Hotel in Sidney",
"maxNumberOfGuests": 5,
"description": "Quiet place by the water.",
"createdAt": "2019/12/7 14:34",
"price": 120
},
{
"id": 2,
"title": "Cabin in Italy",
"maxNumberOfGuests": 2,
"description": "Romantic lake cabin for two.",
"createdAt": "2019/4/7 10:00",
"price": 250
}
]
//审查 JSON
[{
"id": 1,
"numberOfStars": 3,
"content": "Comfy place",
"placeId": 1,
"createdAt": 12345
},
{
"id": 2,
"numberOfStars": 4,
"content": "Awesome lake view.",
"placeId": "",
"createdAt": 23456
}
]
这是想要的结果:
[{
"id": 1,
"title": "Hotel in Sidney",
"maxNumberOfGuests": 5,
"description": "Quiet place by the water.",
"createdAt": "2019/12/7 14:34",
"reviews": [{
"id": 1,
"numberOfStars": 3,
"content": "Comfy place",
"placeId": 1,
"createdAt": 12345
}],
"price": 120
},
{
"id": 2,
"title": "Cabin in Italy",
"maxNumberOfGuests": 2,
"description": "Romantic lake cabin for two.",
"createdAt": "2019/4/7 10:00",
"reviews": [],
"price": 250
}
]
这是我能走多远:
places.forEach(p => {
const { id } = p;
console.log(id);
return id;
});
reviews.forEach(r => {
const { id, numberOfStars, content, placeId, createdAt } = r;
// console.log(id, numberOfStars, content, placeId, createdAt);
console.log(r);
return r;
});
//node express routes to places where will display the desired result.
router.get('/places', function(req, res) {
res.json(places);
});
我无法让它工作,需要一些帮助。
提前致谢。
【问题讨论】:
标签: javascript node.js json express