在javascript中将对象转换为数组

在javascript中将对象转换为数组,javascript,Javascript,我真的想把一个对象转换成数组,但我的代码不起作用 data = "errors": { "user": { "name": "empty" }, { "length": "exceeds" }, "title": { "name": "empty" }, { "length": "exceeds" } } 现在我想让他们: data = ["empty", "exceeds", "empty", "exceeds"]; 到目前

我真的想把一个对象转换成数组,但我的代码不起作用

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

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

如果您总是知道内部对象的键是
name
length
,那么短的方法可能是:

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

请更正代码示例。JS不支持打印引号。这里的错误不仅仅是打印引号。请看一下:
但是输出不是我所期望的
-不,您不会得到任何输出,除非控制台中出现错误您的对象表示法无效。