用js写一个数组对象去重方法
时间: 2023-12-09 08:53:07 浏览: 74
以下是一种常见的去重方法:
```javascript
function unique(arr) {
var obj = {};
var result = [];
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = true;
result.push(arr[i]);
}
}
return result;
}
```
使用方式:
```javascript
var arr = [1, 1, 2, 3, 3, 3, 4, 5, 5];
var result = unique(arr);
console.log(result); // [1, 2, 3, 4, 5]
```
该方法使用一个对象来记录数组中出现过的元素,遇到重复元素就跳过,最后返回去重后的结果数组。
相关问题
js 数组对象去重foreach
在JavaScript中,可以使用数组对象的`forEach`方法来对数组进行遍历操作。而对于数组去重,可以结合`forEach`方法和其他一些数组方法来实现。
下面是使用`forEach`方法进行数组对象去重的示例代码:
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
arr.forEach(function(item) {
if (!uniqueArr.includes(item)) {
uniqueArr.push(item);
}
});
console.log(uniqueArr); // 输出:[1, 2, 3, 4, 5]
```
在上述代码中,我们首先创建了一个空数组`uniqueArr`用于存储去重后的结果。然后使用`forEach`方法遍历原始数组`arr`,对于每个元素,判断它是否已经存在于`uniqueArr`中,如果不存在,则将其添加到`uniqueArr`中。
这样就可以通过`forEach`方法实现数组对象的去重操作。
js用一个数组对象对另一个数组对象去重
你可以使用 `Array.filter()` 方法来实现对一个数组对象去重,以下是一个示例代码:
```javascript
let array1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' }
];
let array2 = [
{ id: 4, name: 'John' },
{ id: 5, name: 'Jane' },
{ id: 6, name: 'Mary' }
];
let uniqueArray = array1.filter(obj1 => !array2.some(obj2 => obj1.id === obj2.id && obj1.name === obj2.name));
console.log(uniqueArray);
```
在上面的例子中,`array1` 和 `array2` 是两个数组对象,你想要从 `array1` 中去除与 `array2` 中重复的元素。使用 `Array.filter()` 方法对 `array1` 进行筛选,通过使用 `Array.some()` 方法来判断元素是否存在于 `array2` 中。如果元素不存在于 `array2` 中,则保留在 `uniqueArray` 中。
这样,`uniqueArray` 将会是一个仅包含 `array1` 中独有的元素的数组对象。
阅读全文