繁体   English   中英

将对象文字转换为数组

[英]convert an object literal into an array

我在这里有一个数组对象:

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

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

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

所以我创建了一个函数来做到这一点。 但是,我不确定从哪里开始使我能够合并它们。

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


}

convert(obj);

有什么帮助吗?

使用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.遍历对象
2.将键和值推入数组,然后将该数组推入答案数组

  var obj = { name: 'Chris', age: 25, hobby: 'programming' }; var ans = []; for(var i in obj) { ans.push([i, obj[i]]); } console.log(ans); 

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

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

暂无
暂无

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

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