我这里有一个数组对象:
var obj = {
name: 'Chris',
age: 25,
hobby: 'programming'
};
我需要一个将对象文字转换为数组数组的函数,即使不知道键或值如下:
[['name', 'Chris'], ['age', 25], ['hobby', 'programming']]
所以我创建了一个函数来做到这一点。但是我不知道从哪里开始让我合并它们。
function convert(obj) {
var array = [];
}
convert(obj);
任何帮助?
答案 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]]);
})