有如下数组[{lable:"序列" prop:"name"}{lable:"子序列" prop:"subname"}{lable:"序列" prop:"name"}] ,请去掉数组中对象内的值有重复的对象,最后返回一个没有重复值的数组
时间: 2023-07-19 12:51:27 浏览: 172
第 33 题:如何去掉一组整型数组重复的值?.doc
好的,针对您的问题,可以使用 JavaScript 中的 reduce 方法和 Set 数据结构来实现。具体实现如下:
```
const arr = [
{label: "序列", prop: "name"},
{label: "子序列", prop: "subname"},
{label: "序列", prop: "name"}
];
const result = Array.from(arr.reduce((acc, cur) => {
acc.add(JSON.stringify(cur));
return acc;
}, new Set())).map(str => JSON.parse(str));
console.log(result);
// Output: [
// {label: "序列", prop: "name"},
// {label: "子序列", prop: "subname"}
// ]
```
以上代码中,我们使用 reduce 方法对数组进行遍历和操作。在每一次遍历中,我们将当前对象转换为字符串并添加到 Set 数据结构中,这样就能够去重了。最后我们将 Set 中的字符串转换为对象并返回一个新数组。
需要注意的是,在将对象转换为字符串时,我们使用了 JSON.stringify 方法,这是因为普通的对象不能直接被 Set 判断为唯一值,需要将其转换为字符串后才能被 Set 判断为唯一值。
最终我们得到的结果为:
```
[
{label: "序列", prop: "name"},
{label: "子序列", prop: "subname"}
]
```
阅读全文