将 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 and map
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);
}
目前,我的脚本生成一个格式如下的对象:
{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 and map
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);
}