陣列去重 簡單的(利用物件去重) 和typeof的封裝
阿新 • • 發佈:2019-02-03
利用物件的屬性不會重複的原理進行去重
把數組裡的每一位放在物件裡面,當做它的屬性名,挨個訪問這物件的屬性名看有沒有這個屬性值
<script> var arr =[1,1,1,2,2,2,2,2,3,3,5,6,7]; 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>
typeof的封裝
<script> function type(target){ var ret = typeof(target); var template = { '[object Object]':'object-Object', '[object Array]':'array-Object', '[object Number]':'number-Object', '[object Boolean]':'boolean-Object', '[object String]':'string-Object' } if(target===null) { return null; }else if(ret == 'object'){ var str = Object.prototype.toString.call(target); return template[str]; }else{ return ret; } } </script>