将对象文字转换为数组

时间:2017-05-03 08:06:02

标签: javascript arrays

我这里有一个数组对象:

var obj = {
  name: 'Chris',
  age: 25,
  hobby: 'programming'
};

我需要一个将对象文字转换为数组数组的函数,即使不知道键或值如下:

[['name', 'Chris'], ['age', 25], ['hobby', 'programming']]

所以我创建了一个函数来做到这一点。但是我不知道从哪里开始让我合并它们。

function convert(obj) {
 var array = [];


}

convert(obj);

任何帮助?

3 个答案:

答案 0 :(得分:3)

使用Object.keys()Array#map()

var obj = {
  name: 'Chris',
  age: 25,
  hobby: 'programming'
};

function convert(obj) {
  return Object.keys(obj).map(k => [k, obj[k]]);
}

console.log(convert(obj));

答案 1 :(得分:0)

你可以这样做:
1.遍历对象
2.将键和值按入数组,然后将该数组放入应答数组



   var obj = {
  name: 'Chris',
  age: 25,
  hobby: 'programming'
};


var ans = [];
for(var i in obj) {
 ans.push([i, obj[i]]);
}

console.log(ans);




答案 2 :(得分:0)

您可以使用Object.keys提取所有属性名称:

var arr=[];
Object.keys(obj).forEach(function(key){ 
     arr.push([key, obj[key]]); 
})