js 冒泡排序、去重

let arr = [1, 3, 2, 55, 32, 21, 1, 2, 54, 32, 33, 78, 55, 3];
1、冒泡排序

  • for 循环
    function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) {// 相邻元素两两对比 var temp = arr[j + 1]; // 元素交换 arr[j + 1] = arr[j]; arr[j] = temp; } } } console.log(arr); // 排序 let attr = []; for(var i = 0; i < arr.length; i++) { if(arr[i] != attr[attr.length - 1]) { attr.push(arr[i]) } } console.log(attr); // 去重后的数据 return; } bubbleSort(arr);

    js 冒泡排序、去重
    文章图片

  • sort 排序
    arr.sort((a, b)=> { return a - b; }) console.log(arr);

    js 冒泡排序、去重
    文章图片

2、冒泡排序并去重
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
arr = Array.from(new Set(arr)); console.log(arr);

也可以这样写:
arr = [... new Set(arr)]; console.log(arr);

最终结果都是我们想要的
【js 冒泡排序、去重】js 冒泡排序、去重
文章图片

    推荐阅读