javascript - 在 JavaScript 中合并两个数组
问题描述
如何为相同的 producId 创建单个数组,但 productImage 和 productImageId 的不同值具有唯一的 productId 但具有不同的 productImage,productImageId 具有相同的 productId 我想要 productImage,productImageId 应该是一个数组并且具有相同的 productId。
var arr1 = [
{
"productID": 85,
"productImageID": 24801,
"productImages": "1588578164781.jpg"
},
{
"productID": 85,
"productImageID": 24802,
"productImages": "1588578164783.jpg"
},
{
"productID": 84,
"productImageID": 24799,
"productImages": "1588575322312.jpeg"
},
{
"productID": 84,
"productImageID": 24800,
"productImages": "1588575322346.png"
}];
var aar2 = [
{
"productID": 85,
"productTitle": "Product Name",
"productDesc": "Product Description",
"productPrice": 140,
"productComparePrice": 120,
"isFeatured": 0
}, {
"productID": 84,
"productTitle": "Jeans test",
"productDesc": "Wrist Black",
"productPrice": 420,
"productComparePrice": 12,
"isFeatured": 1
}]
我想要如下所示的输出:
output =[
{
"productID": 85,
"productTitle": "Product Name",
"productDesc": "Product Description",
"productPrice": 140,
"productComparePrice": 120,
"isFeatured": 0,
"productImages": [
{
"productImageID": 24801,
"productImages": "1588578164781.jpg"
},
{
"productImageID": 24802,
"productImages": "1588578164783.jpg"
}
]
},
{
"productID": 84,
"productTitle": "Jeans test",
"productDesc": "Wrist Black",
"productPrice": 420,
"productComparePrice": 12,
"isFeatured": 1,
"productImages": [
{
"productImageID": 24799,
"productImages": "1588575322312.jpeg"
},
{
"productImageID": 24800,
"productImages": "1588575322346.png"
}
]
}
]
解决方案
我认为这应该对你有用。但是可能您需要以另一种方式解决它,您可以加入来自数据库的数据队列,或者如果这些集合是由前端生成的,您可以使用 JavaScript 对象通过其 ID 轻松获取实体。
const output = aar2.map(product => ({
...product,
productImages: arr1.filter(image => image.productID === product.productID)
}));
推荐阅读
- php - UNION ALL 与 INNER JOIN 一起使用
- python - How to read the first few lines of a tsv.gz file in python?
- node.js - Node/Express serving react app : Get request error 304 Not modified
- javascript - how to change arrow keys events to touch events in below html puzzle game
- javascript - 通过 Codeceptjs 和 Puppeteer 迭代表行是否需要 Helper
- reactjs - simple questions of callbacks with and without an array function
- node.js - Error: CustomisedVideoAttributes.hasOne called with something that's not a subclass of Sequelize.Model
- python-3.x - Selenium webdriver python element screenshot not working properly
- sql - Errors SQL Statement ignored and ORA-00934: group function is not allowed here on stored PL/SQL procedure
- mongodb - 使用拉取查找和更新并获取拉取的文档作为回报