javascript - 将对象转换为数组

标签 javascript angularjs

最好的转换方式是什么:

{
 0: 'a',
 1: 'b',
 2: 'c'
},
 {
 0: 'd',
 1: 'e',
 2: 'f'
}

至:

[ [a [b,c] ], [d [e,f] ] ]

对象的0属性在哪里有1和2对象的数组?有没有办法做到这一点?谢谢

最佳答案

尝试使用map方法:

var data = [{
    0: 'a',
    1: 'b',
    2: 'c'
}, {
    0: 'd',
    1: 'e',
    2: 'f',
    3: 'g'
}];

var result = data.map(function (obj) {
    var subArr = Object.keys(obj).slice(1).map(function(key) {
        return obj[key];
    });
    return [obj[0], subArr];
});

alert(JSON.stringify(result, null, 4));

上面的函数使用索引 0 处的元素作为嵌套数组的第一项,以及子数组中的其他所有元素。

关于javascript - 将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003860/

相关文章:

javascript - TypeError : sql. 连接不是函数 Node.js

javascript - 删除选择列表中的向下箭头

javascript - 我可以保留范围的旧值并将其他值更新为 AngualrJS 中的其他 div

javascript - AngularJS - 如何在另一个过滤器中使用过滤后的数组?

javascript - 未知的 AngularJS 错误(我是初学者)

javascript - AngularJS 函数调用

javascript - 使用 Javascript 生成的网站的优点/缺点

javascript - 使用 JavaScript 隐藏和显示对话框

javascript - 如何使用 moment.js 解析 ISO 8601 格式的持续时间?

angularjs - 如何过滤标签输入按键时的自动完成结果