国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解JS去重及字符串奇數位小寫轉大寫

2019-11-19 18:12:55
字體:
來源:轉載
供稿:網友

面試中經常會考到數組的去重。作為一名合格的前端開發者,不知道幾種去重方法是在不應該。廢話不多說直接開擼……

一、indexOf()方法

實現思路:使用indexOf()方法來判斷新數組中是否有這個值,若沒有則將這個值push到數組中

 //先定義一個數組 var arr = [,'','',,,,,,,,]; function remov(array) {    var arr=[];    for (var i=,len=array.length;i<len;i++){      if (arr.indexOf(array[i])==-){        arr.push(array[i])      }    }    return arr; } console.log(remov(arr));//[, "", "", , , , , , , ]

代碼很簡單,說明一點indexOf()是ES5中的方法,不兼容IE8一下,所以用之前考慮下兼容性問題。

二、sort()+判斷相鄰兩個數

實現思路:先使用數組的sort()方法將數組升序排序,再判斷相鄰的兩個數是否相等,若不相等則將前面的數push到新創建的數組中

 var arr = [,'','',,,,,,,,]; function remov(array) {     var linArr = [];     array.sort();     for (var i = , len = array.length; i < len; i++) {       if (array[i + ] !== array[i]) {         linArr.push(array[i])       }     }     return linArr;   }   console.log(remov(arr));//["", , , , , "", , , , ]

三、創建一個空對象和一個空數組

實現思路:for循環中判斷對象中是否有當前項,若沒有則將當前項push到新創建的數組中,同時將當前項作為對象的一個屬性賦值為1

 var arr = [,'','',,,,,,,,]; function remov(array) {     var res = [];     var obj={};     for (var i=;i<array.length;i++){       if(!obj[array[i]]){         res.push(array[i]);         obj[array[i]]=;       }     }     return res;   }   console.log(remov(arr));//[, "", "", , , , , , ]

至于這里為什么將當前項作為對象的一個屬性賦值為1,比如說數組中的5,第一次對象中沒有5這個屬性,我們將其push到新數組中,若不對5這個屬性進行賦值,下次檢測到第二個5時對象中同樣沒有又要將其push到新數組中。所以這里將當前項作為對象的一個屬性賦值為1,當然也可以賦值為其他值。說的有點

主站蜘蛛池模板: 平武县| 长乐市| 化州市| 弋阳县| 韶关市| 云霄县| 无极县| 西宁市| 高台县| 滨州市| 内黄县| 炉霍县| 拉孜县| 达孜县| 德格县| 扎兰屯市| 六盘水市| 太白县| 兴义市| 建平县| 中超| 靖远县| 乃东县| 尚志市| 宜君县| 阜城县| 连江县| 曲阜市| 崇州市| 巨鹿县| 宝清县| 新竹市| 财经| 读书| 赤水市| 镇平县| 临澧县| 民权县| 义马市| 福建省| 九江市|