Javascript 反应-将对象转换为具有属性的对象数组

Javascript 反应-将对象转换为具有属性的对象数组,javascript,reactjs,Javascript,Reactjs,我有以下目标 "data":{ "name 1":"a", "name 2":"b", "name 3":"b", }, 我怎样才能转换成一个对象数组,它将保留名称和数据a,b,这样我就可以映射和渲染每个传入名称和数据的组件 如果使用reduce函数,则可以执行以下操作以实现目标 Object.keys(data).reduce((array, key) => { return [...array, {

我有以下目标

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

我怎样才能转换成一个对象数组,它将保留名称和数据a,b,这样我就可以映射和渲染每个传入名称和数据的组件

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

Object.keys(data).reduce((array, key) => {
    return [...array, {key: data[key]}]
}, [])
是一个很酷的函数,它可以迭代并将数据组合到一个项目中,可以是1个对象、数组、整数等


是一种从当前对象获取每个关键点并能够在每个关键点上迭代的方法。

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

Object.keys(data).reduce((array, key) => {
    return [...array, {key: data[key]}]
}, [])
是一个很酷的函数,它可以迭代并将数据组合到一个项目中,可以是1个对象、数组、整数等


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

js您可以使用的原生方法

变量数据={ 名称1:a, 姓名2:b, 姓名3:b, }; var newObj=[…Object.valuesdata,…Object.keysdata]
console.lognewObjjs可以使用的原生方法

变量数据={ 名称1:a, 姓名2:b, 姓名3:b, }; var newObj=[…Object.valuesdata,…Object.keysdata]
console.lognewObj您可以使用object.keys函数和map函数获取数组中对象中的所有键,以获得所需的输出

这将转换为保留名称和数据的对象数组

变量数据={ 名称1:a, 姓名2:b, 姓名3:b, } var res=Object.keysdata.mapfunctionname{ var obj={}; obj[name]=数据[name]; 返回obj; };
console.logres 可以使用object.keys函数和map函数获取数组中对象中的所有关键帧,以获得所需的输出

这将转换为保留名称和数据的对象数组

变量数据={ 名称1:a, 姓名2:b, 姓名3:b, } var res=Object.keysdata.mapfunctionname{ var obj={}; obj[name]=数据[name]; 返回obj; };
console.logres Tall Paul提供的解决方案将非常有效,但您也可以使用。它说

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]); 
});

Tall Paul提供的解决方案将非常有效,但您也可以使用。它说

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]); 
});

请添加所需的输出预期的输出是什么,或者更确切地说,您计划如何组织结果?无论如何,解决方案最有可能涉及Object.keys我需要同时传递左右数据,如果我使用Object键,我只获得像b或a这样的数据,但我还需要名称1或名称2。请添加所需的输出预期的输出是什么,或者更确切地说,您计划如何构造结果?无论如何,解决方案最有可能涉及Object.keys我需要传递左右数据,如果我使用Object键,我只会得到像b或a这样的数据,但我还需要name 1或name 2,在响应中需要name和value,在响应中需要name和value