首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并这两个forEach循环(只使用一个)?

如何合并这两个forEach循环(只使用一个)?
EN

Stack Overflow用户
提问于 2016-12-06 01:53:42
回答 1查看 43关注 0票数 2

下面的代码接受两个数组(fieldsphotos),获取它们的字段的名称和值,并将它们添加到一个新数组(panoramas)中:

函数:

代码语言:javascript
复制
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
})

输入:

fields

代码语言:javascript
复制
[{
  name: "name"
  type: "hidden"
  value: ""
}, {
  name: "description"
  type: "hidden"
  value: ""
}, {
  name: "photo"
  type: "file"
  value: ""
}, {
  name: "photo2"
  type: "file"
  value: ""
}]

photos

代码语言:javascript
复制
[{
  name: "photo"
  value: "1.png"
}, {
  name: "photo2"
  value: "2.jpg"
}]

输出:

panoramas:

代码语言:javascript
复制
[{
  name: "name"
  type: "hidden"
  value: ""
}, {
  name: "description"
  type: "hidden"
  value: ""
}, {
  name: "photo"
  type: "file"
  value: "1.png"
}, {
  name: "photo2"
  type: "file"
  value: "2.png"
}]

如您所见,我在map中使用两个map循环。有没有办法只使用一个forEach

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-06 01:55:35

代码语言:javascript
复制
fields.concat(photos).forEach(obj => { panorama[obj.name] = obj.value });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40986541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档