【问题标题】:How add item in an object?如何在对象中添加项目?
【发布时间】:2017-09-05 14:04:58
【问题描述】:

我的状态有这个:

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});,我该怎么做?

【问题讨论】:

  • fbPages 应该是一个数组而不是一个对象。
  • fbPages 声明为这样的数组:var fbPages = []

标签: javascript reactjs react-native frontend


【解决方案1】:

您正在使用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
  });
});

【讨论】:

    【解决方案2】:

    对象不支持push方法,需要将fbPages定义为数组

    var fbPages= [];
    fbPages[0] ={'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);
    } 
    

    【讨论】:

      【解决方案3】:

      请在下面找到示例 sn-p:

      const items = [{
                      id:'123',
                      name:'Teste'
                     },{
                     id: '142',
                     name: 'Teste2'
                   }];
      
      let fbPages = []; // This should be array.
      
      items.map((item)=> {
          fbPages.push({
             [item.id]: item.name
          })
      });
      
      console.log(fbPages);

      【讨论】:

        猜你喜欢
        • 2019-07-24
        • 1970-01-01
        • 2020-01-07
        • 2021-07-25
        • 2016-09-01
        • 1970-01-01
        • 2017-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多