首页 > 解决方案 > 在没有额外变量的情况下映射 Javascript 对象值?

问题描述

我正在使用以下代码(工作正常)

  const result = {}
  Object.keys(timers).forEach(key => {
    result[key] = hydrate(timers[key])
  })
  return result
}

我想知道这是否可以通过一种方法实现?所以不必填充结果对象?

标签: javascriptecmascript-6

解决方案


使用 转换为条目Object.entries(),使用 迭代条目Array.map()并水合值,然后使用 转换回对象Object.fromEntries()

const fn = timers => Object.fromEntries(
  Object.entries(timers).map(([k, v]) => [k, hydrate(v)])
)

推荐阅读