js 找出数组中‘globalNumber’值一样的
时间: 2024-12-13 07:16:07 浏览: 3
在 JavaScript 中,如果你想要找出数组中 `globalNumber` 值相同的元素,并只保留它们各自第一次出现的实例,你可以使用 `Set` 结构配合 `filter()` 和 `find()` 方法。以下是简单的步骤:
首先,创建一个空的 `Set`,用于存放唯一的 `globalNumber` 值。
```javascript
let uniqueGlobalNumbers = new Set();
```
然后,遍历数组,对于每个元素检查其 `globalNumber` 是否已经在 `Set` 中。如果不在,就将其添加到 `Set` 并保存在新的数组里;如果已经存在,说明找到了重复值,但在新数组中不需要加入,直接跳过。
```javascript
let arrayWithDuplicates = [];
arrayData.forEach(item => {
if (!uniqueGlobalNumbers.has(item.globalNumber)) {
arrayWithDuplicates.push(item);
uniqueGlobalNumbers.add(item.globalNumber);
}
});
```
`arrayWithDuplicates` 现在包含了数组中 `globalNumber` 值唯一或重复的元素,但重复的部分只会保留第一个出现的实例。
如果你想找到 `globalNumber` 相同的所有元素,而不是仅保留第一个,可以稍微修改一下上面的代码,只在 `Set` 中查找并添加重复的 `globalNumber`,而不关心具体的元素。
```javascript
let duplicatesByGlobalNumber = {};
arrayData.forEach(item => {
if (!duplicatesByGlobalNumber[item.globalNumber]) {
duplicatesByGlobalNumber[item.globalNumber] = [item];
} else {
duplicatesByGlobalNumber[item.globalNumber].push(item);
}
});
console.log(duplicatesByGlobalNumber);
```
这将会返回一个对象,其中每个键是重复的 `globalNumber`,对应的值是一个包含该 `globalNumber` 所有实例的数组。
阅读全文