数组去重(JS)

数据类型:

(栈类型) 原始值:boolen,num,string,null,undefined

(堆类型) 引用值:object,array

首先重新定义一个type()函数,

<script>
function type(target){
    var ret = typeof(target);//通过typeof先判断是否属于数组或对象类型,并放入ret
    var template = {
        '[object Array]':'array',
        '[object Object]':'object',
        '[object Number]':'number-object',
        '[object Boolean]':'boolean-object',
        '[object String]':'string-object',
        }
        if(target===null){
            return 'null';//如果target为null,则返回null,注意是三个等于号
            }else if (ret == 'object'){
                var str = Object.prototype.toString.call(target);//判定数组还是对象的方法之一,toString.call
                return template[str];
            }else{
                return ret;
                }
        }
</script>

数组去重

<script>
//思路:,给每个数组一个键,组成键值对,如果值没有键,则添加并且放入一个新数组
Array.prototype.unique = function(){
    var temp = {},
        arr = [],
        len = this.length;
        for(var i = 0;i<len;i++){
            if(!temp[this[i]]){
                temp[this[i]]='abc';
                arr.push(this[i]);
                }
            }
            return arr;    
        }
</script>

原文地址:https://www.cnblogs.com/qq946487854/p/9854154.html