我有这个数组,我想用键和值创建新对象.

const arr = [
  {
    name: 'ab',
    key: '584577',
  },
  {
    name: 'cd',
    key: '344926',
  },
  {
    name: 'ef',
    key: '804816',
  },
];


for(const item of arr) {
  setNewObject({...newObject, [item.name]: item.key})
}

但结果不打印任何内容.这是我预期的结果:

   {
      ab: 584577,
      cd: 344926,
      ef: 804816
    }

这是一张LIVE DEMO 有人能给我指个方向吗?提前谢谢!

推荐答案

编辑:以便它可以根据请求与for循环一起使用

创建一个新对象,然后在循环中分配一个新键,其值如下所示

const arr = [
  {
    name: 'ab',
    key: '584577',
  },
  {
    name: 'cd',
    key: '344926',
  },
  {
    name: 'ef',
    key: '804816',
  },
];

let newObj = {}
for(const item of arr) {
    newObj[item.name] = item.key
}

console.log(newObj);

Javascript相关问答推荐

错误:找不到react-redux上下文值;请确保该组件包装在React原生Expo应用程序中的提供者中

TypScript界面中的Infer React子props

过滤对象数组并动态将属性放入新数组

我开始使用/url?q=使用Cheerio

docx.js:如何在客户端使用文档修补程序

如何在不创建新键的情况下动态更改 map 中的项目?

如何从一个列表中创建一个2列的表?

如何修复我的js构建表每当我添加一个额外的列作为它的第一列?

WebRTC关闭navigator. getUserMedia正确

如何在Node.js中排除导出的JS文件

将数组扩展到对象中

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

在不删除代码的情况下禁用Java弹出功能WordPress

JS Animate()方法未按预期工作

如何为仅有数据可用的点显示X轴标签?

如何在一个对象Java脚本中获取不同键的重复值?

为列表中的项目设置动画

如何使用画布在另一个内部绘制一个较小但相同的形状,同时保持恒定的边界厚度?

为什么我不能使用其同级元素调用和更新子元素?

ReferenceError:无法在初始化之前访问setData