如何在javascript中将嵌套对象转换为对象数组

时间:2015-12-15 02:39:37

标签: javascript

我有一个数据结构如下:

var data = Object { 0={
                        user : 1
                        job  : call center
                    },
                    1={
                       user : 2
                       job  : programmer
                    }
                  }

现在我想将它们转换为如下所示的对象数组:

      [Object {user : 1, job  : call center}, {user : 2, job  : programmer} ]

有可能吗?我怎样才能转换它们。任何帮助,谢谢。

2 个答案:

答案 0 :(得分:4)

尝试使用map

 var array = $.map(data , function(value, index) {
     return [value];
 });

你也可以在没有jQuery的情况下做到这一点:

var array = Object.keys(data).map(function(k) { return obj[k] });

答案 1 :(得分:1)

  1. 您的对象创建语法不佳
  2. 下面将向您展示如何使用简单的for循环执行此操作,但会做出许多假设(例如,您的对象键被正确标记)。我通常会使用map,但觉得这可能不是那么简单/直接让你理解;所以循环应该足够简单,以便遵循。
  3. var data =  { 0:{
                      user : 1,
                      job  : 'call center'
                  },
                  1:{
                      user : 2,
                      job  : 'programmer'
                  }
                };
    
    
    var arr  = [],
        keys = Object.keys(data);
    
    for(var i=0,n=keys.length;i<n;i++){
      var key  = keys[i];
      arr[key] = data[key];
    }