改变javascript对象的结构

时间:2017-11-27 05:45:30

标签: javascript arrays object

我当前的对象是以下形式:

[{Vol:'AB', freq:[{used:4786, avail:1319, res:249}]}
,{Vol:'CD', freq:[{used:1101, avail:412, res:674}]}]

我需要将其更改为以下形式:

[{Vol:'AB', freq:{used:4786, avail:1319, res:249}}
,{Vol:'CD', freq:{used:1101, avail:412, res:674}}]

如何做到这一点。

1 个答案:

答案 0 :(得分:1)

尝试

obj.map( s => (s.freq = s.freq[0], s) );

解释

  • 使用map
  • 迭代数组
  • 将每个项目freq的数组替换为第一个项目

<强>演示

&#13;
&#13;
var input = [{
  Vol: 'AB',
  freq: [{
    used: 4786,
    avail: 1319,
    res: 249
  }]
}, {
  Vol: 'CD',
  freq: [{
    used: 1101,
    avail: 412,
    res: 674
  }]
}];

input = input.map(s => (s.freq = s.freq[0], s));

console.log(input);
&#13;
&#13;
&#13;