js将数对象某些属性去重后组成一个新的对象并这些属性用逗号分隔
时间: 2024-03-05 22:51:41 浏览: 37
js中数组对象去重的两种方法
5星 · 资源好评率100%
可以使用对象的 reduce 方法和 Set 数据结构来实现。具体操作如下:
```javascript
const arr = [
{name: '张三', age: 20},
{name: '李四', age: 22},
{name: '张三', age: 20},
{name: '王五', age: 25},
{name: '李四', age: 22}
];
const uniqueObj = arr.reduce((unique, item) => {
const key = item.name + item.age;
if (!unique[key]) {
unique[key] = {
name: item.name,
age: item.age
};
}
return unique;
}, {});
const result = Object.values(uniqueObj).map(item => {
return `${item.name}-${item.age}`;
}).join(',');
console.log(result); // "张三-20,李四-22,王五-25"
```
首先使用 reduce 方法对数组进行遍历,同时使用对象的属性来记录已经存在的元素,如果当前元素不存在,则将其添加到对象中。最后使用 Object.values 方法将对象的值转为数组,并使用 map 方法将其转为字符串格式,最后使用 join 方法将其用逗号分隔输出。
阅读全文