如何把数组对象处理为{ 浙江: ['杭州', '宁波', '温州', '嘉兴', '湖州'], 福建: ['福州', '厦门', '莆田', '三明', '泉州'], };
时间: 2023-10-23 15:11:33 浏览: 31
假设数组对象为:
```
const cities = [
{ province: '浙江', city: '杭州' },
{ province: '浙江', city: '宁波' },
{ province: '浙江', city: '温州' },
{ province: '浙江', city: '嘉兴' },
{ province: '浙江', city: '湖州' },
{ province: '福建', city: '福州' },
{ province: '福建', city: '厦门' },
{ province: '福建', city: '莆田' },
{ province: '福建', city: '三明' },
{ province: '福建', city: '泉州' },
];
```
可以使用 reduce 方法进行处理:
```
const result = cities.reduce((acc, cur) => {
if (!acc[cur.province]) {
acc[cur.province] = [cur.city];
} else {
acc[cur.province].push(cur.city);
}
return acc;
}, {});
```
最终得到的结果为:
```
{
"浙江": ["杭州", "宁波", "温州", "嘉兴", "湖州"],
"福建": ["福州", "厦门", "莆田", "三明", "泉州"]
}
```
相关问题
写vue3修改数组对象[{key:value}]为[{key:‘‘,value:‘‘}]的代码
可以使用 `map` 方法来实现这个功能:
```javascript
const newArray = oldArray.map(item => {
return { key: item.key, value: item.value }
})
```
这里的 `oldArray` 是原始的数组,`newArray` 是修改后的数组,`map` 方法会遍历原数组中的每一个对象,然后返回一个新的对象,这个新的对象包含 `key` 和 `value` 两个属性。通过这种方式就可以将原来的 `{key: value}` 对象转换为 `{key: '', value: ''}` 的对象了。
写vue3中修改数组对象[{key:value}]为[{key:‘‘,value:‘‘}]的代码
假设原始的数组对象为 `originalArr`,可以使用 `Array.prototype.map()` 方法来将每个对象的键值对转换为一个新的对象,代码如下:
```
const modifiedArr = originalArr.map(obj => ({ key: obj.key, value: obj.value }));
```
这里使用了箭头函数和对象解构语法,返回的新对象包含了 `key` 和 `value` 两个属性。这样就可以将原始数组中的对象转换为新的数组对象了。