JavaScript 数组转为对象


例如我们要把 ['a','b'] 转为 { 0: 'a', 1: 'b' } 应该如何实现,下面展示了4种实现方式

方式1、使用 ES6 的 Object.assign()


            Object.assign({}, ['a', 'b']);
        

方式2、使用 ES8 的扩展运算符 ...


            { ...['a', 'b'] }
        

方式3、使用 reduce


            ['a', 'b'].reduce((a, v, i) => ({ ...a, [i]: v }), {})
        

方式4、使用 for 循环遍历


            function toObject(arr) {
                var rv = {};
                for (var i = 0; i < arr.length; ++i)
                  rv[i] = arr[i];
                return rv;
            }
            toObject(['a', 'b']); // { 0: 'a', 1: 'b' }
        

以上4种方式的转换结果都是 { 0: 'a', 1: 'b' }


back home