[英]How to merge these two forEach loops (use only one)?
The followning code takes two arrays ( fields
and photos
), get the name and value of their fields, and add them to a new array ( panoramas
): 以下代码采用两个数组(
fields
和photos
),获取其字段的名称和值,然后将它们添加到新数组中( panoramas
):
Function: 功能:
const panoramas = this.uploads.finished.map(photos => {
let panorama = {}
fields.forEach(field => { panorama[field.name] = field.value })
photos.forEach(photo => { panorama[photo.name] = photo.value })
return panorama
})
Input: 输入:
fields
: fields
:
[{
name: "name"
type: "hidden"
value: ""
}, {
name: "description"
type: "hidden"
value: ""
}, {
name: "photo"
type: "file"
value: ""
}, {
name: "photo2"
type: "file"
value: ""
}]
photos
: photos
:
[{
name: "photo"
value: "1.png"
}, {
name: "photo2"
value: "2.jpg"
}]
Output: 输出:
panoramas:
[{
name: "name"
type: "hidden"
value: ""
}, {
name: "description"
type: "hidden"
value: ""
}, {
name: "photo"
type: "file"
value: "1.png"
}, {
name: "photo2"
type: "file"
value: "2.png"
}]
As you can see I'm using two forEach
loops inside map
. 如您所见,我在
map
使用了两个forEach
循环。 Is there a way to use just one forEach
? 有没有办法只使用一个
forEach
?
fields.concat(photos).forEach(obj => { panorama[obj.name] = obj.value });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.