javascript数组到二维数组

javascript数组到二维数组,javascript,arrays,Javascript,Arrays,我有这样一个javascript数组 var myArr = [ { "Year":"2015", "Month":"January", "Value":"15.8", "District":"Anuradhapura", "type":"Rainfall" }, { "Year":"2015", "Month":"January", "Value":"31.1",

我有这样一个javascript数组

var myArr = [  

   {  
      "Year":"2015",
      "Month":"January",
      "Value":"15.8",
      "District":"Anuradhapura",
      "type":"Rainfall"
   },
   {  
      "Year":"2015",
      "Month":"January",
      "Value":"31.1",
      "District":"Anuradhapura",
      "type":"Temparature"
   },
   {  
      "Year":"2015",
      "Month":"January",
      "Value":"4",
      "District":"Anuradhapura",
      "type":"Wind"
   },
   {  
      "Year":"2015",
      "Month":"January",
      "Value":"69",
      "District":"Anuradhapura",
      "type":"Humidity"
   }
]
我需要的是将
类型
数据放入二维数组。我的最终结果应该是这样的

 var data = [  
       [  
          "Rainfall",
          158
       ],
       [  
          "Temparature",
          31.1
       ],
       [  
          "Wind",
          4
       ],
       [  
          "Humidity",
          69
       ]
    ]
请注意,
myArr
我从后端服务获得的结果,此数组的长度可以动态更改。我怎样才能做到这一点。谢谢

试试这个:

具有
foreach
功能

文档:

具有
map
功能

文档:

您可以简单地使用函数将对象数组映射到二维数组

  var data = myArr.map(function(o){
       return [o.type, o.Value]
    });
另外,如果希望将值转换为
浮点
数字而不是
字符串
,请使用

您可以使用函数获得结果:

     var data = myArr.map(function(input){ return [input.type, input.Value]; });

此函数将数组中的每个元素转换为另一个元素,因为您需要数组数组,所以映射函数必须从对象中创建数组。

我熟悉下划线。js:您可以使用:

let data = [];
myArr.map( a => {

 data.push([a.type, a.Value]);

});
_.zip(_.pluck(myArr, "type"), _.pluck(myArr, "Value"));
var myArr=[
{  
“年份”:“2015年”,
“月”:“一月”,
“价值”:“15.8”,
“地区”:“Anuradhapura”,
“类型”:“降雨”
},
{  
“年份”:“2015年”,
“月”:“一月”,
“价值”:“31.1”,
“地区”:“Anuradhapura”,
“类型”:“温度”
},
{  
“年份”:“2015年”,
“月”:“一月”,
“价值”:“4”,
“地区”:“Anuradhapura”,
“类型”:“风”
},
{  
“年份”:“2015年”,
“月”:“一月”,
“价值”:“69”,
“地区”:“Anuradhapura”,
“类型”:“湿度”
}
];
警报(JSON.stringify(u.zip(u.pull(myArr,“type”),u.pull(myArr,“Value”)))

尽管您必须添加,但仍需将x.值转换为数值。:)不要吹毛求疵,但在他的一个例子中,数字是一个浮点数,所以你应该使用paraefloatus,如果函数存在于语言的核心中,那么使用外部库是过分的。下划线是一个必备库,它有助于操作json。功能的速度和效率都很快。而且重量很轻。你的建议是值得赞赏的,你有一点我,我只是孤立地看待这个问题。顺便说一句,大多数浏览器对JSON的支持都有所增加,请查看此链接。为了证明javascipt的核心函数是5.7kb还是0 kb。->0k更“轻”;-)不需要使用单独的数组,因为map函数将“创建”它自己的数组。
     var data = myArr.map(function(input){ return [input.type, input.Value]; });
let data = [];
myArr.map( a => {

 data.push([a.type, a.Value]);

});
_.zip(_.pluck(myArr, "type"), _.pluck(myArr, "Value"));