如何将uniqueArr数组转化为对象
时间: 2023-08-08 09:10:27 浏览: 37
要将`uniqueArr`数组转换为对象,可以使用`reduce`函数来实现。下面是将`uniqueArr`转换为对象的代码示例:
```javascript
let uniqueArr = [
{id: "295", loudong: "3", louceng: "2", fanghao: "3-201"},
{id: "296", loudong: "3", louceng: "2", fanghao: "3-202"},
{id: "299", loudong: "3", louceng: "5A", fanghao: "3-501A"},
{id: "300", loudong: "3", louceng: "5A", fanghao: "3-502A"},
{id: "301", loudong: "3", louceng: "5", fanghao: "3-501"},
{id: "302", loudong: "3", louceng: "5", fanghao: "3-502"},
{id: "319", loudong: "3", louceng: "15A", fanghao: "3-1501A"},
{id: "320", loudong: "3", louceng: "15A", fanghao: "3-1502A"},
{id: "321", loudong: "3", louceng: "15", fanghao: "3-1501"},
{id: "322", loudong: "3", louceng: "15", fanghao: "3-1502"}
];
let newObj = uniqueArr.reduce((obj, item) => {
if (!obj[item.louceng]) {
obj[item.louceng] = [];
}
obj[item.louceng].push(item);
return obj;
}, {});
console.log(newObj);
```
通过使用`reduce`函数,我们可以遍历`uniqueArr`数组,将每个元素按照`louceng`属性的值进行分组。初始值为一个空对象`{}`,在每次迭代中,如果`obj`对象中不存在当前楼层的属性,则创建一个空数组,然后将当前元素添加到对应的属性数组中。最后,返回累积的对象。
执行以上代码后,`newObj` 将是一个包含按照楼层属性值分组的对象。你可以在控制台中查看 `newObj` 的输出结果。