在javascript中将Object转换为数组

时间:2016-01-31 18:47:48

标签: javascript arrays recursion

我想转换类似于此的对象:

    {
    "team1": {
        "test123": [{
            "players":"3",
            "city":"blabla"
            "date": null,
            "country": "NZ",
        }, {
            "players":"7",
            "city":"blabla2"
            "date": null,
            "country": "US",
        }]
    }
}

并接收一个包含 - >的数组对于一个对象,键和数组将连接数组的值。 例如:

["team1","test123",[{
                "players":"3",
                "city":"blabla"
                "date": null,
                "country": "NZ",
            }, {
                "players":"7",
                "city":"blabla2"
                "date": null,
                "country": "US",
            }]]

我试图在数组上运行递归,但它没有用。

*我的物体可能更大,铲斗+未知标签

尝试过这样的事情,但没有奏效:

function rec(obj) {
  var res = [];
  for(var key in obj) {
     if (angular.isArray(obj[key])){
        res.concat(obj[key]);
     } 
     else {
        rec(obj[key]);
        res.push(key);
     }
  }
  return res;
}

1 个答案:

答案 0 :(得分:0)

不确定为什么需要这个,但这会重现您提供的结果。 Demo

fahr