zoukankan      html  css  js  c++  java
  • 删除数组中重复项(uniq)

    来自于:http://www.planabc.net/2009/12/26/array_uniq/

    代码
    TUI.unique = function( array ) {
    var ret = [], record = {}, it, tmp;
    var type = {
    “number”: 
    function(n){ return “_TUI_num” + n; },
    “string”: 
    function(n){ return n; },
    boolean”: function(n){ return “_TUI_boolean” + n; },
    “object”: 
    function(n){ return n === null ? “TUI_null” : $.data(n); },
    “undefined”: 
    function(n){ return “_TUI_undefined”; }
    };
    for ( var i = 0, length = array.length; i < length; i++ ) {
    it 
    = tmp = array[i];
    tmp 
    = type[typeof it](it);
    if!record[tmp] ) {
    ret.push(it);
    record[tmp] 
    = true;
    }
    }
    return ret;
    };

    测试:

    var b=[1,3,5];
    TUI.unique([
    1,3,4,5,null,false,$(".pack")[0],b,"ab","cc",[1,3],3,6,b,1,false,null,"null","","false","",$(".pack")[0],"cc"])


    var uniq = function (arr) {
        
    var a = [],
            o 
    = {},
            i,
            v,
            len 
    = arr.length;

        
    if (len < 2) {
            
    return arr;
        }

        
    for (i = 0; i < len; i++) {
            v 
    = arr[i];
            
    if (o[v] !== 1) {
                a.push(v);
                o[v] 
    = 1;
            }
        }

        
    return a;
    }


  • 相关阅读:
    开发3dMax插件的方法和应用
    实现X*N
    fork与vfork的区别
    使用递归算法写一段程序
    宏和函数的区别
    多线程学习(一)
    [算法天天练]堆排序
    [转][算法天天练]堆与堆排序
    [转]快速排序 挖坑讲解方法
    [算法天天练]选择排序法
  • 原文地址:https://www.cnblogs.com/jikey/p/1729160.html
Copyright © 2011-2022 走看看