【问题标题】:Remove parent key from object in array of other objects with no parent key从没有父键的其他对象数组中的对象中删除父键
【发布时间】:2018-12-13 22:05:15
【问题描述】:

我从不同来源获取数据,最终得到了几个正确格式的 json 对象和一个具有如下父键的对象:

{
"0": {
      "term_id": 3,
      "name": "Burger"
     },
"1": {
      "term_id": 6,
      "name": "Chicken"
     },
"2": {
      "term_id": 12,
      "name": "Mexican"
     },
}

如何删除 0、1、2、3 等,同时保留其他结构正确的对象?我在这个项目的其他地方使用 lodash

这个带有父键的对象正在通过映射插入到多个对象的数组中

Promise.all(promises)
  .then(results => {
    let valueArr = [];
    Object.keys(results).forEach(function(key) {
      valueArr = [results[key]]
    });
    this.setState({ categorySelectOptions: valueArr });
  })

这是有问题的输出截图:

【问题讨论】:

    标签: javascript json ecmascript-6


    【解决方案1】:

    您只需将push 放入数组中,而不是assigning。使用这个 -

    Object.keys(results).forEach(function(key) {
      valueArr.push(results[key])
    });
    

    【讨论】:

    • 它仍然使用父键推送对象,如上面的屏幕截图所示。谢谢
    【解决方案2】:

    使用Object.values

    const data = {
      "0": {
        "term_id": 3,
        "name": "Burger"
      },
      "1": {
        "term_id": 6,
        "name": "Chicken"
      },
      "2": {
        "term_id": 12,
        "name": "Mexican"
      },
    };
    
    console.log(Object.values(data));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 2021-06-06
      • 2015-12-24
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多