javascript - 从 forEach 返回对象?

标签 javascript node.js

是否可以从 forEach 的返回值构造一个对象?我在做什么:

const data = {}
object.rules.forEach(rule => {
  data[rule.name] = { body: [], type: rule.type }
})

我想怎么做:

const data = object.rules.forEach(rule => {
  data[rule.name] = { body: [], type: rule.type }
})

最佳答案

考虑使用 Array.reduce

const data = object.rules.reduce((obj, rule) => {
  obj[rule.name] = { body: [], type: rule.type }
  return obj;
}, {})

和更短的版本

const data = object.rules.reduce((obj, rule) => Object.assign({}, obj, {[rule.name]:{ body: [], type: rule.type } }), {})

关于javascript - 从 forEach 返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48128876/

相关文章:

node.js - 将环回部署到 heroku 时出现问题

Javascript递归包装 child (俄罗斯套娃)

node.js - 通过maven前端插件或命令行选项从 'npm install'输出调试到文件?

php - 计算选中的复选框的数量

javascript - 在 knockout.js 中从 JSON 数组中获取所有键

mysql - 握手不活动超时 : nodejs 6. 10.0 mysql pool.queryAsync

javascript - 如何使用 GraphQl 查询 geojson 点?

javascript - 如何获取最后插入的主键

javascript - 使用angularjs提取字节数组中的二进制文件内容

javascript - Kendo UI - 调度程序 - 添加事件