我正在使用nodejs创建项目。我想将对象数组转换为简单数组。例如
var test = [ { id: '1111',
type: 'sdfsdf'
},
{ id: 'df45',
type: 'fsdsdf',
}]
我需要
var actual = [111,'sdfsdf'], ['df45','fsdsdf'].
答案 0 :(得分:2)
我会基于动态数量的密钥提出这个解决方案:
var arr = test.map(function(obj){
return Object.keys(obj). // convert object to array of keys
reduce(function(arr, current){arr.push(obj[current]); return arr}, []); // generate a new array based on object values
});
答案 1 :(得分:0)
这可以使用Array.map()完成,如下所示:
var actual = []
test.map(function(object) {
actual.push(objectToArray(object))
})
function objectToArray(obj) {
var array = []
// As georg suggested, this gets a list of the keys
// of the object and sorts them, and adds them to an array
var obj_keys = Object.keys(obj).sort()
// here we iterate over the list of keys
// and add the corresponding properties from the object
// to the 'array' that will be returned
for(var i = 0; i < obj_keys.length; i++) {
array.push(obj[obj_keys[i]])
}
return array
}
函数objectToArray
接受任何对象并将其转换为数组,以便无论对象内的键是什么,它都可以灵活。