javascript - 通过数组映射,为每个元素创建一个键值对,并为每个对赋予一个字母的键
问题描述
我有一个对象数组(我不知道有多少对象,也许 3,也许 10)例如:
const data = [
{name: 'Jane', age: 25},
{name:'Luke', age: 55},
{name:'Martha', age: '16'},
...and so on
]
现在我想通过这个数组进行映射并为每个数组创建一个键值对,并且我想使用一个字母(以 c 开头)作为键。预期结果是:
{
c:{name: 'Jane', age: 25},
d:{name:'Luke', age: 55},
e:{name:'Martha', age: '16'}
...and so on
}
如何做到这一点?
我正在使用 JS 和 React
解决方案
您可以使用reduce和String.fromCharCode轻松实现结果。
ASCIIc
码是99
const data = [
{ name: "Jane", age: 25 },
{ name: "Luke", age: 55 },
{ name: "Martha", age: "16" },
];
const result = data.reduce((acc, curr, i) => {
acc[String.fromCharCode(99 + i)] = curr;
return acc;
}, {});
console.log(result);
推荐阅读
- javascript - 如何在 sequelize 中返回创建的实例
- javascript - 从IME中的android意图返回后聚焦html输入
- python - 如何获取包含另一个二维数组索引的二维数组
- reactjs - 如何根据搜索更改材料 ui 表中的页面?
- r - 如何在 R 中拆分两个文本列
- mongodb - 我想将 firebase 与 mongodb 连接,以替代 algolia 搜索?
- flutter - 浏览量内的 GestureDetector
- html - 如何修复可调整大小的可视空间底部的点
- java - SpringDoc:无法在 Swagger UI 上预览请求和响应 Bean(模型)
- razor-pages - 在整个应用程序中应用 AuthorizeForScopesAttribute