ts对象数组去重
时间: 2023-06-21 21:05:52 浏览: 220
老生常谈Bootstrap媒体对象
可以使用Set和Array.from()方法来实现对ts对象数组的去重。
例如,假设有如下的ts对象数组:
```javascript
const tsArr = [
{ name: 'John', age: 25 },
{ name: 'Mary', age: 30 },
{ name: 'John', age: 25 },
{ name: 'Peter', age: 35 }
];
```
使用Set和Array.from()方法进行去重:
```javascript
const uniqueTsArr = Array.from(new Set(tsArr.map(JSON.stringify)), JSON.parse);
```
这段代码的作用是先将ts对象数组中的每个对象转换为JSON字符串,然后使用Set进行去重,最后使用Array.from()方法将结果转换回原来的ts对象数组格式。这种方法可以去除重复的ts对象,但是它会改变数组中对象的顺序。
如果想要保留原数组中的对象顺序,可以使用for循环和一个临时数组来实现去重:
```javascript
const tsArr = [
{ name: 'John', age: 25 },
{ name: 'Mary', age: 30 },
{ name: 'John', age: 25 },
{ name: 'Peter', age: 35 }
];
const uniqueTsArr = [];
const uniqueMap = new Map();
for (const tsObj of tsArr) {
const tsObjStr = JSON.stringify(tsObj);
if (!uniqueMap.has(tsObjStr)) {
uniqueMap.set(tsObjStr, true);
uniqueTsArr.push(tsObj);
}
}
```
这段代码的作用是使用Map来记录已经出现过的ts对象,如果没有出现过则将其放入结果数组uniqueTsArr中。这种方法可以保留原数组的对象顺序,并且可以去除重复的ts对象。
阅读全文