• 数组去重


    1、(jquery)

    jQuery.unique( array );

    jQuery.unique( array )返回: Array

    描述: 删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或者数字数组(试了下,有的版本应该可以

    2、(jQuery)

    var arr = ["1","2","3","4","5","4","3"];
    var uniqueArr = [];
    $.each(arr, function(i, el){
        if($.inArray(el, uniqueArr) === -1) uniqueArr.push(el);
    });

    jQuery.inArray( value, array [, fromIndex ] )返回: Number

    描述: 在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)。

    • 添加的版本: 1.2jQuery.inArray( value, array [, fromIndex ] )

      • value
        类型: Anything
        要查找的值。
      • array
        类型: Array
        一个数组,通过它来查找。
      • fromIndex
        类型: Number
        数组索引值,表示从哪里在开始查找。默认值是0,这将查找整个数组。

    $.inArray()方法类似于JavaScript的原生.indexOf()方法,没有找到匹配元素时它返回-1。如果数组第一个元素匹配value(参数) ,那么$.inArray()返回0。

    因为JavaScript将0视为false(即 0 == false, 但是 0 !== false),如果我们检查在array中存在value,我们只需要检查它是否不等于(或大于)-1。

    3、(javascript)

    不用jQuery, 你可以先排序,然后遍历此Array, 比较前后两个元素的值.

    var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
    var sortedArr = arr.sort(); //这是按字符串排的序
    var results = [];
    for (var i = 0; i < arr.length - 1; i++) {
        if (sortedArr[i + 1] == sortedArr[i]) {
            results.push(sortedArr[i]);
        }
    }
    
    alert(results);
    //修正: 16.09.21

    var arr = [1,2,3,1,4,2,1];
    var newarr = [];
    arr.sort();
    for(var i = 0; i< arr.length; i++){
    if(i === 0){
    newarr.push(arr[i])
    }else if(arr[i] !== arr[i-1]){
    newarr.push(arr[i])
    }
    }
    console.log(newarr)

     

    4、(javascript)

    function unique(array){
        var n = [];//临时数组
        for(var i = 0;i < array.length; i++){
            if(n.indexOf(array[i]) == -1) n.push(array[i]);
        }
        return n;
    }
     
  • 相关阅读:
    Effective Java(二)—— 循环与 StringBuilder
    Java 错误:找不到或无法加载主类(源文件中含有包名 package)
    古代文学经典、现代文学经典
    逻辑一致、交叉验证
    框架设计的一些思考
    Ping
    Hypver-V中的快照
    事件日志订阅-基于 源已启动
    组策略--下发计划任务到计算机
    组策略--下发文件到计算机
  • 原文地址:https://www.cnblogs.com/darr/p/5028626.html
Copyright © 2020-2023  润新知