我的状态如下:

fbPages:{'123':'Teste','142':'Teste2'}


但是我需要动态地这样的东西:

async getFbPages(){
        var fbPages = {}
            await this.props.resultPosts.facebookPagesList.data.map(item => {
                fbPages.push({item.id: item.name});
            });
            this.setState({fbPages});
            console.log(this.state);
}


我在这里出现错误fbPages.push({item.id: item.name});,该怎么办?

最佳答案

您正在使用push,但fbPages不是数组。
如果要向对象添加另一个属性,请改用fbPages[item.id] = item.name;

var fbPages = {};
await this.props.resultPosts.facebookPagesList.data.map(item => {
  fbPages[item.id] = item.name;
});


除非您希望以数组开头,否则请这样声明,而不是var fbPages = []

var fbPages = [];
await this.props.resultPosts.facebookPagesList.data.map(item => {
  fbPages.push({
    item.id: item.name
  });
});

关于javascript - 如何在对象中添加项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46056998/

10-09 18:34