冒泡排序 数组排重

123 阅读1分钟

冒泡排序:
将乱序数组从小到大排序

<script>
    var arr = [9, 23, 16, 7, 65, 4, 5, 45];
    var t;
    for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length; j++) {
            if (arr[i] < arr[j]) {
                t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
    document.write(arr)
</script>
<script>
    var arr = [9, 23, 16, 7, 65, 4, 5, 45];
    for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length - 1 - i; j++) {
            if (arr[j] > arr[j + 1]) {
                var t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    document.write(arr)
</script>
    <script>
        var arr = [9, 23, 16, 7, 65, 4, 5, 45];
        for (var i = 0; i <arr.length ; i++) {
            var flag = true;
            for (var j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                     flag = false;
                    var t = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = t;
                }
            }
            if (flag == true) {
                 break;
            }
        }
        document.write(arr)
    </script>

⭐ ⭐ ⭐

数组排重:

  1. indexOf
<script>
    var arr = [9, 23, 6, 7, 6, 4, 5, 4];
    var newarr = [];
    for (var j = 0; j < arr.length; j++) {
        if (newarr.indexOf(arr[j]) == -1) {
            newarr.push(arr[j])
        }
    }
    console.log(newarr)
    /* 控制台显示:[9, 23, 6, 7, 4, 5] */
</script>
  1. filter
delre = (arr)=>{ return arr.filter((e,i,arr)=>{ return arr.indexOf(e) == i; }) }
  1. ES6-Set
[...new Set(['1',2,3,4,1,2,12,2])]