javaScript数组去重并排序

数组去重的方法在这里举两种。

一、第一种方法

(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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值