javascript - 从键 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}
}
解决方案
问题≡(▔﹏▔)≡</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);
推荐阅读
- python - 使用 pygame libray 的简单 python 游戏的问题
- c# - 我可以在运行时从 Hololens 访问哪些设备信息?(操作系统级别、序列号等)
- matlab - 如何将伽罗瓦场矩阵转换为二进制矩阵
- azure-devops - Azure DevOps 不断创建默认构建管道
- php - PHP exec() 不返回任何内容。whoami 的问题
- java - 调试我的第一堂课。使用用户输入创建一个圆圈
- azure-cognitive-search - 包含撇号时 Azure 搜索引发错误
- php - 表单登录提交后如何保持登录状态?
- sql - 将重复的行分成单独的列 TSQL
- amazon-web-services - 如何阻止 AWS CLI 调用