首页 > 解决方案 > 将数组组转换为对象

问题描述

我有一个数组。我想将它们转换成一组对象。

下面是我的数组

[ null,
[ 5, 6 ],
[ 7, 8 ],
[ 9, 10 ],
[ 13, 14 ] ]

然后我尝试将它们成对转换为对象,但我所拥有的是:

{ '0': null,
'1': [ 5, 6 ],
'2': [ 7, 8 ],
'3': [ 9, 10 ],
'4': [ 13, 14 ] }

我想要实现的是如下所示:

    {
        "0": 5,
        "1": 6,
    },
    {
        "0": 7,
        "1": 8,
    },
    {
        "0": 9,
        "1": 10,
    },
    {
        "0": 13,
        "1": 14,
    },

感谢那些会帮助的人

标签: javascriptarrayssortingobject

解决方案


您可以过滤虚假值并映射已分配数组的对象。

var array = [null, [5, 6], [7, 8], [9, 10], [13, 14]],
    result = array
        .filter(Boolean)
        .map(a => Object.assign({}, a));
        
console.log(result);

封装在一个函数中

function getObjects(array) {
    return array
        .filter(Boolean)
        .map(a => Object.assign({}, a));
}

console.log(getObjects([null, [5, 6], [7, 8], [9, 10], [13, 14]]));


推荐阅读