首页 > 解决方案 > 从键 1 开始的对象中的变换数组

问题描述

如果我有一个对象数组:

arr = [{from: 10, to: 20}, {from: 15, to: 25}]

我可以将它转换为一个对象:

const object = Object.assign({}, arr)

返回:

{
  0: {from: 10, to: 20},
  1: {from: 15, to: 25}
}

我该如何取而代之?

{
  1: {from: 10, to: 20},
  2: {from: 15, to: 25}
}

标签: javascriptarraysobject

解决方案


问题≡(▔﹏▔)≡</h3>

您正在从中获取索引0。因为数组是 JavaScript 中的对象。所以索引充当对象的键。

例如,解构数组以获取第一个元素

const array = [{from: 10, to: 20}, {from: 15, to: 25}];
const {0: first} = array;
console.log(first); // {from: 10, to: 20}


解决方案(❁´◡`❁)

所以你可以通过Array#reduce这样使用来实现它。

const array = [{from: 10, to: 20}, {from: 15, to: 25}];
const object = array.reduce((acc, curr, index) => (acc[index+1] = curr, acc), {})
console.log(object);


推荐阅读