React - 将对象转换为具有属性的对象数组

新手上路,请多包涵

我有以下对象

"data":{
         "name 1":"a",
          "name 2":"b",
          "name 3":"b",
        },

如何转换为同时保留名称和数据“a”、“b”的对象数组,以便我可以为传入名称和数据的每个组件映射和渲染组件?

原文由 Almog 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 701
2 个回答

如果您使用 reduce 函数,您可以执行以下操作来实现您的目标

Object.keys(data).reduce((array, key) => {
    return [...array, {key: data[key]}]
}, [])

Reduce 是一个很酷的函数,它将数据迭代并组合成一个项目(可以是 1 个对象、数组、整数等)。

Object.keys() 是一种从当前对象获取每个键并能够迭代每个键的方法。

原文由 Tall Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议

Tall Paul 提供的解决方案将完美运行,但您也可以使用 Object.entries() 。它指出

Object.entries() 方法返回给定对象自己的可枚举属性 [key, value] 对的数组,其顺序与 for…in 循环提供的顺序相同(区别在于 for-in 循环枚举原型链中的属性也是如此)。

所以你可以尝试这样的事情

let result = Object.entries(data);
result.map((item, index)=>{
      console.log('key is:- ', item[0], ' and value is:- ', item[1]);
});

原文由 Manjeet Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题