我在构造函数中声明一个名为 filter 的空对象数组:
constructor(props){
super(props);
this.state = {
filter: []
}
}
我收到一个 API 响应,它是一个类似于下面的数组对象,并存储在过滤器变量中。
[
{
name: "xyz",
language: "english",
age: 20
},
{
name: "abc",
language: "history",
age: 21
},
{
name: "efi",
language: "geography",
age: 20
}
]
我正在寻找一种方法,可以在 jsx 文件中默认为过滤器数组中的每个对象设置一个属性,例如 check = false 。虽然API的响应如上,但收到响应后,数组应该像
[
{
name: "xyz",
language: "english",
age: 20,
**checked: false**
},
{
name: "abc",
language: "history",
age: 21,
**checked: false**
},
{
name: "efi",
language: "geography",
age: 20,
**checked: false**
}
]
最佳答案
使用map和Object.assign
,假设obj
是您从api获得的respanse,您可以运行下面的函数来解析您的数组,然后设置respanse到您所在的州
var obj=[
{
name: "xyz",
language: "english",
age: 20
},
{
name: "abc",
language: "history",
age: 21
},
{
name: "efi",
language: "geography",
age: 20
}
]
var result = obj.map(el => {
var o = Object.assign({}, el);
o.checked = false;
return o;
})
console.log(result);
关于javascript - React js中默认为数组的每个对象设置一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49567043/