更改JavaScript Data对象的格式

Gil*_*gio 3 javascript d3.js

我有一个数据对象如下:

[{"Positive":"14.71","Neutral":"50.0","Negative":"35.29"}]
Run Code Online (Sandbox Code Playgroud)

我想将其更改为以下指定的格式:

[{"type":"Positive","value":14.71},{"type":"Neutral","value":50.0},{"type":"Negative","value":35.29}]
Run Code Online (Sandbox Code Playgroud)

Pra*_*lan 5

用法Object.keysArray#map方法.

var data = [{
  "Positive": "14.71",
  "Neutral": "50.0",
  "Negative": "35.29"
}];

var res = Object.keys(data[0]) // get all object property names
  // iterate over property names array
  .map(function(k) {
    // generate array element using property value
    return {
      type: k,
      // cast data value to number using plus-sign prefix(as per requirement)
      value: +data[0][k]
    }
  })

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