使用reduce或map来大写JavaScript对象中的每个属性

125*_*748 1 javascript reduce functional-programming

有没有办法为大写对象的所有密钥使用map或者reduce所以结果可以直接退换吗?

它工作得很好 forEach

var o = {
  fname: 'john',
  lname: 'doe'
}
var result = {}
Object.entries(o)
  .forEach((el) => {
    result[el[0].toUpperCase()] = el[1]
  })


console.log('result', result) // works
Run Code Online (Sandbox Code Playgroud)

但试图改变

reduce 不管用

var o = {
  fname: 'john',
  lname: 'doe'
}

var result = Object
  .entries(o)
  .reduce((accum, curr) => {
    return accum[curr[0].toUpperCase()] = curr[1]
  }, {})

console.log('result', result)
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 6

您将要从回调中返回对象,而不是属性值:

var result = Object.entries(o).reduce((accum, [key, val]) => {
  accum[key.toUpperCase()] = val;
  return accum;
}, {})
Run Code Online (Sandbox Code Playgroud)