繁体   English   中英

将Javascript对象转换为具有两个值的数组数组

[英]Convert Javascript Object to array of arrays with two values

当前,我的脚本生成的对象的格式如下:

{name: numerical value, name: numerical value}

Highcharts,我正在使用的图表库要求数据必须位于具有两个值的数组的数组中,例如:

[ ["name", "numerical value"], ["name", "numerical value"], ["name", "numerical value"] ]

如何将我的JavaScript对象转换为数组中的数组?

循环浏览对象的键,为每个键创建一个新对:

var obj = { name: 3, name2: 4 /* etc. */ };
var data = [];

for ( f in obj )
{
  var pair = [ f, obj[f] ];
  data.push(pair);
}

或者,该循环的较不冗长的版本:

for ( f in obj )
{
  data.push( [ f, obj[f] ] );
}

 var obj = { name: 3, name2: 4, name3: 72 }; var data = []; for ( f in obj ) { data.push( [ f, obj[f] ] ); } console.log( JSON.stringify(data) ); 

您可以使用Object.keys地图

var data = {name: 'numerical value', name1: 'numerical value'};

var res = Object.keys(data).map(function (el) {
  return [el, data[el]];
});

console.log(res);

如果您在2018年阅读了此内容,则可以使用Object.entries方法

function convertObjectToList(obj) {
  return Object.entries(obj);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM