js将数组转成键值对的json数据,这里的键可以自定义
时间: 2024-03-19 07:43:25 浏览: 92
js实现数组转换成json
如果要自定义键名,只需要在 `reduce` 方法中将键名替换为需要的值即可。例如:
```javascript
const arr = [
{ name: "张三", age: 18 },
{ name: "李四", age: 20 },
{ name: "王五", age: 22 },
];
const result = arr.reduce((acc, cur, index) => {
const key = `user${index + 1}`;
acc[key] = cur;
return acc;
}, {});
const json = JSON.stringify(result);
console.log(json);
```
输出结果为:
```json
{
"user1": { "name": "张三", "age": 18 },
"user2": { "name": "李四", "age": 20 },
"user3": { "name": "王五", "age": 22 }
}
```
在上面的代码中,我们使用 `reduce` 方法遍历数组,将每个对象作为值添加到累加器对象 `acc` 中,并使用计算得到的键名作为对象的键。键名的计算方式为 `user${index + 1}`,其中 `index` 表示当前对象在数组中的索引,`${index + 1}` 表示将索引从 0 开始转换为从 1 开始的序号。最后,我们使用 `JSON.stringify()` 方法将结果转换为 JSON 字符串。
阅读全文