var array = [ { letter: 'A', data: 'Object A' }, { letter: 'B', data: 'Object B' }, { letter: 'C', data: 'Object C' }, { letter: 'B', data: 'Object D' }, { letter: 'A', data: 'Object E' }, { letter: 'D', data: 'Object F' } ]; 这个数组怎么 去除 letter 重复的对象 并把它删除
时间: 2023-12-25 21:04:09 浏览: 85
你使用 JavaScript 的 `filter` 方法来筛选出不重复的对象,并将重复的对象删除。这里是一个示例代码:
```javascript
var array = [
{ letter: 'A', data: 'Object A' },
{ letter: 'B', data: 'Object B' },
{ letter: 'C', data: 'Object C' },
{ letter: 'B', data: 'Object D' },
{ letter: 'A', data: 'Object E' },
{ letter: 'D', data: 'Object F' }
];
var uniqueLetters = {}; // 用于存储唯一的首字母
var filteredArray = array.filter(function(obj) {
var letter = obj.letter;
if (uniqueLetters[letter]) {
// 如果首字母已经存在于uniqueLetters中,则返回false过滤掉当前对象
return false;
}
uniqueLetters[letter] = true; // 将当前首字母添加到uniqueLetters对象中
return true;
});
console.log(filteredArray);
```
在示例代码中,我们使用一个空对象 `uniqueLetters` 来存储已经出现过的首字母。在遍历数组的过程中,如果某个对象的首字母已经存在于 `uniqueLetters` 中,则将其过滤掉。最后,我们打印输出 `filteredArray`,它是一个只包含不重复对象的新数组。
运行上述代码,你会得到以下输出结果:
```javascript
[
{ letter: 'A', data: 'Object A' },
{ letter: 'B', data: 'Object B' },
{ letter: 'C', data: 'Object C' },
{ letter: 'D', data: 'Object F' }
]
```
在输出结果中,重复的对象 `{ letter: 'A', data: 'Object E' }` 和 `{ letter: 'B', data: 'Object D' }` 已经被过滤掉了。
阅读全文