JS實現(xiàn)的字符串數(shù)組去重功能小結(jié)
本文實例講述了JS實現(xiàn)的字符串數(shù)組去重功能。分享給大家供大家參考,具體如下:
這里只考慮最簡單字符串的數(shù)組去重,暫不考慮,對象,函數(shù),NaN等情況,這種用正則實現(xiàn)起來就吃力不討好了。
非正則實現(xiàn):ES6實現(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>
運行結(jié)果:

ES5實現(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>
運行結(jié)果同上
ES3實現(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>
運行結(jié)果同上
用正則實現(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>
運行結(jié)果:

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
PS:這里再為大家提供幾款相關(guān)工具供大家參考使用:
在線去除重復項工具:
http://tools.jb51.net/code/quchong
在線文本去重復工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- js數(shù)組去重的常用方法總結(jié)
- JS實現(xiàn)數(shù)組去重方法總結(jié)(六種方法)
- js數(shù)組去重的5種算法實現(xiàn)
- 高性能js數(shù)組去重(12種方法,史上最全)
- 史上最全JavaScript數(shù)組去重的十種方法(推薦)
- js實現(xiàn)數(shù)組去重、判斷數(shù)組以及對象中的內(nèi)容是否相同
- JavaScript數(shù)組去重的兩種方法推薦
- JS實現(xiàn)的合并多個數(shù)組去重算法示例
- JS實現(xiàn)的JSON數(shù)組去重算法示例
- JavaScript數(shù)組去重的五種方法
- js算法中的排序、數(shù)組去重詳細概述
- JS實現(xiàn)數(shù)組去重,顯示重復元素及個數(shù)的方法示例
- 兩個數(shù)組去重的JS代碼
- JS實現(xiàn)數(shù)組去重及數(shù)組內(nèi)對象去重功能示例
- JS實現(xiàn)字符串去重及數(shù)組去重的方法示例
- 關(guān)于js數(shù)組去重的問題小結(jié)
- js數(shù)組去重的方法總結(jié)
- JS數(shù)組去重的常用4種方法
相關(guān)文章
Js使用WScript.Shell對象執(zhí)行.bat文件和cmd命令
這篇文章主要介紹了Js使用WScript.Shell對象執(zhí)行.bat文件和cmd命令,需要的朋友可以參考下2014-12-12
用js實現(xiàn)判斷當前網(wǎng)址的來路如果不是指定的來路就跳轉(zhuǎn)到指定頁面
用js實現(xiàn)判斷當前網(wǎng)址的來路如果不是指定的來路就跳轉(zhuǎn)到指定頁面,需要的朋友可以參考下。2011-05-05
JavaScript?進階問題列表(各種js代碼段1-65)
從基礎(chǔ)到進階,測試你有多了解?JavaScript,刷新你的知識,或者幫助你的?coding?面試!?:muscle:?:rocket:?我每周都會在這個倉庫下更新新的問題2024-11-11
詳解利用exif.js解決ios手機上傳豎拍照片旋轉(zhuǎn)90度問題
這篇文章主要介紹了詳解利用exif.js解決ios手機上傳豎拍照片旋轉(zhuǎn)90度問題,有需要的朋友可以了解一下。2016-11-11
JS實現(xiàn)頁面滾動到關(guān)閉時的位置與不滾動效果
這篇文章主要介紹了JS實現(xiàn)頁面滾動到關(guān)閉時的位置與不滾動效果,滾動有兩種方案,其一,利用路由中的meta,在離開頁面時緩存 top 信息,其二,利用keep-alive緩存整個頁面。但是僅限于沒有實時數(shù)據(jù)變動的頁面,需要的朋友可以參考下本文2022-06-06
JavaScript常用函數(shù)工具集:lao-utils
現(xiàn)在Javascript庫海量,流行的也多,比如jQuery,YUI等,雖然功能強大,但也是不萬能的,功能不可能涉及方方面面,這里給大家分享一個的JS庫是對這些的補充,很多也比較實用,把應用到項目中中去也比較方面,這也是對工作的一些積累,也加深對知識的理解。2016-03-03

