【发布时间】:2016-06-08 14:00:17
【问题描述】:
我有一个 JSON 数组:
var row={ shopId: 3, shopName: '1', address: 'abc', contactNumber: 1234 }
我有一个数组:
var data= [ { imageId: 1, shopId: 3, imageUrl: 'aaa' },
{ imageId: 2, shopId: 3, imageUrl: 'bbb' } ]
我必须将这两者合并并生成如下输出:
var result = {
shopId: 3,
shopName: '1',
address: 'abc',
contactNumber: 1234,
image: [{
imageId: 1,
shopId: 3,
imageUrl: 'aaa'
}, {
imageId: 2,
shopId: 3,
imageUrl: 'bbb'
}]
}
【问题讨论】:
-
你不能只做
row.image = data;吗? -
结果应该是一个新对象吗?是数组的行的一部分,并且在数据中不止一个具有相同 shopid 的商品?
-
您似乎正在尝试创建一个“商店”对象,该对象还包含与该商店关联的图像列表。如果是这样,那么您的“数据”数组看起来只包含具有相同“shopId”值的项目。是否有保证,或者您是否需要像 Jose 所建议的那样过滤“数据”数组?另外,为什么你需要你的结果“image”数组来包含“shopId”值?这是从其父对象“shopId”假定的。
标签: javascript arrays json node.js express