数组去重算法,quickSort

function removeRepeat(arr) {
    var arr2 = [] ,obj = {};
    for (var i = 0; i<arr.length;  i++) {
        var num = arr[i];    //先把arr的第[i]num
             if( !obj[num] ){    //如果上面有个true,那么就不要push进数组,否则就push进数组
             arr2.push(num);
         obj[num] = true;  //不要忘记push到数组以后把obj上的属性设置为true,那么下次有一样的属性就不会进来了
          }
    }
    console.log(arr2);
}
removeRepeat([1,2,5,2,1,5,5,2,1,1,5,2,2,5,1]);
var quickSort = function(arr) {  
    if (arr.length <= 1) {
        return arr;
    } else {
        //split for center
        var pivotIndex = Math.floor(arr.lenght / 2);
        //get center value
        var pivot = arr.splice(pivotIndex, 1)[0];
        var left = [];  
            var right = [];
        for (var i = 0; i < arr.length; i++) {
        if (arr[i] < pivot) {
            left.push(arr[i]);
        } else {
                right.push(arr[i]);
        }
        }
     }
    //call me loop
    return quickSort(left).concat([pivot], quickSort(right));
};
时间: 2024-10-25 18:48:28

数组去重算法,quickSort的相关文章

javascript数组去重算法-----4(另一种写法)

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----3</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

javascript数组去重算法-----4(另一种写法__2)

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----3</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

javascript数组去重算法-----5

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----3</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

javascript数组去重算法-----3

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----3</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

javascript数组去重算法-----2

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----2</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

javascript数组去重算法-----1

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript数组去重算法-----1</title> 6 </head> 7 <body> 8 <script> 9 var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5

js数组去重算法

来来来 ,整理完数组排序 ,咱们再来看看数组去重 .这个可以说有很多方式了 .之前看过的算法方式太多 ,导致思路其实有时候真的很受限,不过也是整理来学习用的 ,如有雷同 ,纯属巧合啊 ,小婊贝们~ 首先呢 ,我们来看看思路比较直接的方法,基本思路就是声明一个新数组arr_n,将[0]这个成员压入arr;然后从[1]开始循环当前数组,设置一个变量a,给他一个初始值1:内层嵌套从[0]对arr_n数组的循环 ,用外层对当前数组循环的当前项this[i]和arr_n的每一项arr_n[j]进行对比,如

JS数组去重算法实现

转帖: https://github.com/wteam-xq/testDemo/blob/master/array.html 1.遍历数组法 最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下: // 最简单数组去重法 function unique1(array){ var n = []; //一个新的临时数组 //遍

前端面试必备:JS数组去重算法实现

之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去重 的编码问题: 如:魅族笔试题: 本博文就js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码.  1.遍历数组法   最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就放入该新数组中:注意点:判断值是否在数组的方法“indexOf”是ECMAScript5

数组去重算法

数组去重,首先要明确数组里边每一项的数据门类,如果是同部类的数据,那就会容易很多了,最头疼的仍是碰到数组里有对象的景况.下部分为3种状况来兑现吧. (一)数组内元素都是同一数据类型,比如都是number,string,array,但不存在Object类型元素的情况 function clear(arr) { var temp = {}, result = []; for (var i = 0; i < arr.length; i++) { if (!temp[arr[i]]) { result.