我正在寻找一种将对象转换为对象数组的方法,并删除第一个唯一键。
我该怎么做:
{f56hdhgf54: {name: 'Sam', age: 34}, h65fg9f7d: {name: 'John', age: 42}}
进入这个:
[{name: 'Sam', age: 34}, {name: 'John', age: 42}]
所以我可以.map
这样通过它:
result.map((person) => {
console.log(person.name, person.age)
})
答案 0 :(得分:5)
您可以使用Object.keys()
获取密钥数组,然后使用map()
将密钥更改为值或在此情况下更改对象。
var obj = {f56hdhgf54: {name: 'Sam', age: 34}, h65fg9f7d: {name: 'John', age: 42}}
var result = Object.keys(obj).map(function(e) {
return obj[e];
});
console.log(result);
答案 1 :(得分:0)
另一种方法是使用lodash映射功能转换数据,即
let data = {
"f56hdhgf54": {
"name": "Sam",
"age": 34
},
"h65fg9f7d": {
"name": "John",
"age": 42
}
}
let result = _(data)
.map((value, key) => (
value
))
// result
[
{
"name": "Sam",
"age": 34
},
{
"name": "John",
"age": 42
}
]
您可以使用Lodash在线测试仪https://codepen.io/travist/full/jrBjBz来测试代码
答案 2 :(得分:-1)
使用此问题的Jquery解决方案
var xyz = [];
var abcd = {f56hdhgf54: {name: 'Sam', age: 34}, h65fg9f7d: {name: 'John', age: 42}}
$.each(abcd,function(i,data){
xyz .push(data);
})