从没有父键的其他对象数组中的对象中删除父键

时间:2018-12-13 04:42:20

标签: javascript json ecmascript-6

我正在从不同的来源获取数据,并最终得到了几个正确形成的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 });
  })

这是有问题的输出的屏幕截图:

2 个答案:

答案 0 :(得分:1)

您需要做的就是将push而不是assigning放入数组。使用此-

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

答案 1 :(得分:0)

使用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));