在javascript中将对象转换为数组

时间:2016-01-11 12:08:59

标签: javascript

我真的想将一个对象转换为数组但我的代码不起作用。

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);

但输出并不是我的预期。请帮忙。非常感谢。

1 个答案:

答案 0 :(得分:1)

如果你总是知道内部对象的键将是namelength,那么可能会有一个简短的方法:

var out = Object.keys(data.errors).reduce(function (p, c) {
  return p.concat([data.errors[c].name, data.errors[c].length]);
}, []);

DEMO