javascript数组到二维数组
我有这样一个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",
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"));