Arrays 如何向数组中的每个对象添加一个参数?
所以我有一些案子 将类别添加到数组中处于状态的每个对象 POST是对象的数组(这些对象是wordpress文章,有很多参数) 它被保存在以下状态:Arrays 如何向数组中的每个对象添加一个参数?,arrays,reactjs,object,Arrays,Reactjs,Object,所以我有一些案子 将类别添加到数组中处于状态的每个对象 POST是对象的数组(这些对象是wordpress文章,有很多参数) 它被保存在以下状态: constructor(props) { super(props); this.state = { posts: [], postCategories: [], }; } 后来我从其他端点获取数据(每个帖子的类别,来自另一个端点) 后分类-每个帖子中的每个类别(但它不是枚举字符串(1、2、3等))
constructor(props) {
super(props);
this.state = {
posts: [],
postCategories: [],
};
}
后来我从其他端点获取数据(每个帖子的类别,来自另一个端点)
后分类-每个帖子中的每个类别(但它不是枚举字符串(1、2、3等))
我需要向数组中的每个对象添加参数-posts取决于e.num
(如果帖子[0]具有postcategory 1,我需要插入参数名称:类别,内容取决于枚举
例如,对于post[0],它的postcategory=2,因此我需要将参数name:category的值注入“category2”
此外,解决方案应该包括数组-循环中的所有对象。您可以使用
映射和排列来实现这一点
const result = array.map(item =>{
if(condition1)
return {...item, newProperty: 'foo'}
if(condition2)
return {...item, anotherProp: 'bar'}
return item
})
您可以使用map
和spread
来实现这一点
const result = array.map(item =>{
if(condition1)
return {...item, newProperty: 'foo'}
if(condition2)
return {...item, anotherProp: 'bar'}
return item
})
要更改从获取中接收的数据,必须更改map函数中的数据。整个数组将返回到newPostData
,然后可以将其设置为状态
fetch(postsUrl)
.then(data => data.json())
.then(data => {
const newPostData = data.map(item => {
if (item.categories === 2) {
item.myNewValue = 'the new value if categories is 2';
}
if (item.categories === 3)
console.log('Categories equals 3')
return item
}
this.setState({posts: newPostData})
})
要更改从获取中接收的数据,必须更改map函数中的数据。整个数组将返回到newPostData
,然后可以将其设置为状态
fetch(postsUrl)
.then(data => data.json())
.then(data => {
const newPostData = data.map(item => {
if (item.categories === 2) {
item.myNewValue = 'the new value if categories is 2';
}
if (item.categories === 3)
console.log('Categories equals 3')
return item
}
this.setState({posts: newPostData})
})
哇,谢谢,它正在向每个对象添加参数,现在我将尝试将其与我的问题匹配:)好的,我将其实现到我的解决方案中,并且通常是有效的,现在我尝试使用条件解决问题如果你想发布另一个问题!如果(item.categories==2),如果(item.categories==3)这些条件没有将参数名称添加到数组的每个对象中,您是否可以发布另一个问题来更好地解释?评论太乱了!哇,谢谢,它正在向每个对象添加参数,现在我将尝试将其与我的问题匹配:)好的,我将其实现到我的解决方案中,并且通常是有效的,现在我尝试使用条件解决问题如果你想发布另一个问题!如果(item.categories==2),如果(item.categories==3)这些条件没有将参数名称添加到数组的每个对象中,您是否可以发布另一个问题来更好地解释?评论太乱了!你在改变状态你在改变状态