如何将JavaScript对象转换为数组

3

我有一个对象:

var json = {
  "alex" : [
    {'count' : 1, 'date': 2},
    {'count' : 2, 'date': 2},
  ],
  "alex" : [
    {'count' : 10, 'date': '1'},
    {'count' : 20, 'date': '10'},
  ],
};

我该如何将其转换为:
var arr = [
  {
    name: 'alex',
    data: [[10,1],[20,2]]
  },
  {
    name: 'bob',
    data: [[10,1],[20,2]]
  }
]

1
那不是JSON,而是JavaScript对象字面量。而且它是无效的,因为你不能列出相同的属性两次。话虽如此,你有没有做出任何努力来实现这个? - Mike Brant
将数据从PHP传递到Highcharts {类型区域和多个系列}的方法是将PHP数组转换为JSON格式,我已经得到了上述格式,并且它运行良好。 - Omar Makled
1个回答

7
var json = {
  "alex" : [
    {'count' : 1, 'date': 2},
    {'count' : 2, 'date': 2},
  ],
  "bob" : [
    {'count' : 10, 'date': '1'},
    {'count' : 20, 'date': '10'},
  ],
};


var res = Object.keys(json).map(function (el) {
  return {
    name: el,
    data: json[el].map(function (e) {
      return [e.count, e.date]    
    })
  }  
})

console.log(res);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接