从JavaScript对象创建数组

kk *_*ngh 0 javascript highcharts

我有一个像这样的JavaScript对象

server1:[38,1,2,7]
server2:[6,2,1,4
server3:[160,30,21,20]
Run Code Online (Sandbox Code Playgroud)

我想将此对象的元素插入这样的数组中

data1=[
  [
    {name:"Success", y:38},
    {name:"Failure", y:1},
    {name:"Aborted", y:2},
    {name:"Unstable", y:7}
  ],
  [
    {name:"Success", y:6},
    {name:"Failure", y:2},
    {name:"Aborted", y:1},
    {name:"Unstable", y:4}
  ],
  [
    {name:"Success", y:160},
    {name:"Failure", y:30},
    {name:"Aborted", y:21},
    {name:"Unstable", y:20}
  ]
]
Run Code Online (Sandbox Code Playgroud)

JavaScript对象的键的第一个元素是成功,第二个元素是失败,第三个元素是不稳定的,第四个元素被中止,有什么办法可以做到这一点?任何帮助将不胜感激

Pra*_*lan 5

您可以使用Object.valuesmethod获取对象值,并使用 Array#map method生成数组。

const data = {
  server1: [38, 1, 2, 7],
  server2: [6, 2, 1, 4],
  server3: [160, 30, 21, 20]
}


let res = Object.values(data).map(([s, f, a, u]) => [{
    name: "Success",
    y: s
  },
  {
    name: "Failure",
    y: f
  },
  {
    name: "Aborted",
    y: a
  },
  {
    name: "Unstable",
    y: u
  }
])

console.log(res);
Run Code Online (Sandbox Code Playgroud)