繁体   English   中英

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

[英]How to convert nested object to array of objects in 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} ]

是否可以? 我该如何转换它们。 任何帮助,谢谢。

尝试使用map

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

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

var array = Object.keys(data).map(function(k) { return obj[k] });
  1. 您的对象创建语法很差
  2. 下面向您展示如何使用一个简单的 for 循环来执行此操作,但做了很多假设(例如,您的对象键被正确标记)。 我通常会使用map ,但觉得这对您来说可能不那么容易/直接理解; 所以循环应该足够简单以供遵循。

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];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM