如何对JS数组对象进行查重
时间: 2024-03-27 08:38:47 浏览: 9
可以使用 `filter` 方法和 `indexOf` 方法来对 JS 数组对象进行查重。
例如,如果我们有一个包含重复元素的数组 `arr`,可以使用以下代码来创建一个只包含不重复元素的新数组 `uniqueArr`:
```
const arr = [1, 2, 3, 2, 1];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3]
```
在这个例子中,`filter` 方法会遍历原数组 `arr` 中的每一个元素,并调用回调函数,如果回调函数返回 `true`,则将该元素添加到新数组 `uniqueArr` 中。回调函数中,`indexOf` 方法用来判断当前元素是否在原数组中第一次出现,如果是,则说明该元素是不重复的,返回 `true`,否则返回 `false`。
相关问题
对push后的数组对象进行排序
可以使用JavaScript中的sort()方法对push后的数组对象进行排序。sort()方法可以接收一个比较函数作为参数,该比较函数可以用来定义排序规则。比如,对一个数组对象按照其中的某个属性进行降序排序,可以这样写:
```
myArray.sort(function(a, b) {
return b.someProperty - a.someProperty;
});
```
其中,someProperty是要排序的属性名。这个函数会返回一个数字,如果返回的是正数,则a会排在b后面;如果返回的是负数,则a会排在b前面;如果返回的是0,则a和b的顺序不变。
需要注意的是,sort()方法会改变原数组,如果不想改变原数组,可以先复制一份再对复制后的数组进行排序。
写一对js数组对象多属性去重
答案:可以使用JavaScript的Set结构来去重复一对数组对象的多个属性,例如:let arr = [{name: 'Tom', age: 18}, {name: 'Bob', age: 16}, {name: 'Tom', age: 18}]; let set = new Set(arr.map(JSON.stringify)); let newArr = Array.from(set).map(JSON.parse); console.log(newArr); 输出结果:[{name: 'Tom', age: 18}, {name: 'Bob', age: 16}]