陣列去重(JS)
阿新 • • 發佈:2019-10-06
(棧型別) 原始值: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.callreturn 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>
更多專業前端知識,請上 【猿204