我真的想将一个对象转换为数组但我的代码不起作用。
data = "errors": {
"user": {
"name": "empty"
},
{
"length": "exceeds"
},
"title": {
"name": "empty"
},
{
"length": "exceeds"
}
}
现在我想制作它们:
data = ["empty", "exceeds", "empty", "exceeds"];
到目前为止我所做的是:
var arr = Object.keys(data[i].data.errors).map(function(k) {
return data[i].data.errors[k]
});
console.log(arr);
但输出并不是我的预期。请帮忙。非常感谢。
答案 0 :(得分:1)
如果你总是知道内部对象的键将是name
和length
,那么可能会有一个简短的方法:
var out = Object.keys(data.errors).reduce(function (p, c) {
return p.concat([data.errors[c].name, data.errors[c].length]);
}, []);