数组去重的方法在这里举两种。
一、第一种方法
(1)新建一个空数组,然后进行for循环遍历,使用indexOf检测新数组中是否含有当前循环的值,没有则使用push添加。代码如下。
let newarr = []
for(var i=0;i<arr1.length;i++) {
if(newarr.indexOf(arr1[i])==-1) {
newarr.push(arr1[i])
}
}
console.log(newarr,'indexOF');
二、第二种方法
(2)使用set自带的特性,数据具有唯一性,不含有重复的数据。但注意,使用set得到的数据不是数组的形式,需要使用展开运算符(...)转成数组的类型。代码如下。
let arr1 = [2,5,6,1,3,2,5]
console.log(arr1,'原数组');
let set1 = new Set(arr1)
console.log([...set1],'set方法');
(3)数组排序,使用sort()方法。代码如下,25-31行为排序代码,11-24行为第一种去重方法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数组去重并排序</title>
</head>
<body>
<script>
// 定义的要进行去重数组
var arr1 = [5,3,9,7,4,1,2,5,6,3,9,4,12,13,11];
// 定义一个空数组
var newarr = [];
// 循环原数组的每一位
for(var i=0;i<arr1.length;i++) {
// 数组去重,用indexOf判断新数组中是否存在正在遍历的这一位,如果不存在(也就是等于-1)
if(newarr.indexOf(arr1[i])==-1) {
// 新数组中没有出现过当前遍历的这一位,就往新数组中末尾添加这一位
newarr.push(arr1[i]);
}
}
// 打印得到的新数组
console.log(newarr);
// 数组排序
newarr.sort(function(a,b){
// 从a到b(就是从小到大)
return a-b;
// 从b到a(就是从大到小)
// return b-a
});
// 打印排序过后的数组
console.log(newarr);
</script>
</body>
</html>
3699

被折叠的 条评论
为什么被折叠?



