在javascript中从object创建数组数组

时间:2017-08-03 12:32:31

标签: javascript arrays

我有这样的对象

{2015:1.5,2016:1.5, 2017:1.5,2018:15 ,2019:1}

我想像这样创建二维数组

[[2015,1.5],[2016,1.5],..]

我试过this但是没有工作。我该怎么办?

编辑1:

基本上我有2个数据。一个由年份和第二个数组组成的数据数组。 [2015,2016]和数据类似于[1.5,1]。我想合并[[2015,1.5],[2106,1]]

2 个答案:

答案 0 :(得分:3)

如果您有字符串,可以将其拆分两次:

var s = "2015:1.5 2016:1.5 2017:1.5 2018:15 2019:1";

console.log(
  s.split(" ").map(x => x.split(":"))
);

如果您有对象,请使用Object.entries将其转换为数组:

var obj = {2015:1.5, 2016:1.5, 2017:1.5, 2018:15, 2019:1};

console.log(Object.entries(obj));

var year = [2015, 2016];
var data = [1.5, 1];

console.log(
  year.map((y, i) => [y, data[i]])
);

答案 1 :(得分:1)

您可以使用Object.keys()array#map

const obj = {2015:1.5, 2016:1.5, 2017:1.5, 2018:15, 2019:1};

var result = Object.keys(obj).map((key) => [key, obj[key]]);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }