本文實(shí)例講述了JS實(shí)現(xiàn)的字符串?dāng)?shù)組去重功能。分享給大家供大家參考,具體如下:
這里只考慮最簡(jiǎn)單字符串的數(shù)組去重,暫不考慮,對(duì)象,函數(shù),NaN等情況,這種用正則實(shí)現(xiàn)起來(lái)就吃力不討好了。
非正則實(shí)現(xiàn):ES6實(shí)現(xiàn)
<script>let str_arr=["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]function unique(arr){ return [...new Set(arr)]}console.log(unique(str_arr)) </script>
運(yùn)行結(jié)果:
ES5實(shí)現(xiàn)
<script>var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"] function unique(arr) { return arr.filter(function(ele, index, array) { return array.indexOf(ele) === index }) } console.log(unique(str_arr))</script>
運(yùn)行結(jié)果同上
ES3實(shí)現(xiàn)
<script>var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]function unique(arr) { var obj = {}, array = [] for (var i = 0, len = arr.length; i < len; i++) { var key = arr[i] + typeof arr[i] if (!obj[key]) { obj[key] = true array.push(arr[i]) } } return array}console.log(unique(str_arr))</script>
運(yùn)行結(jié)果同上
用正則實(shí)現(xiàn)
<script> var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"] function unique(arr) { return arr.sort().join(",,"). replace(/(,|^)([^,]+)(,,/2)+(,|$)/g, "$1$2$4"). replace(/,,+/g, ","). replace(/,$/, ""). split(",") } console.log(unique(str_arr))</script>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答