JavaScript數(shù)組去重實(shí)現(xiàn)方法小結(jié)
本文實(shí)例講述了JavaScript數(shù)組去重實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
一、ES3方法:
var arr = ['a', 'a', 'b', 'b', 'b', 'c', 'e', 'f', 1, 2, 2, 3, 3, 3];
創(chuàng)建一個(gè)空數(shù)組與原來(lái)數(shù)組進(jìn)行比較
//與前面的數(shù)組進(jìn)行比較(不會(huì)改變?cè)瓟?shù)組)
function deleteRepeat() {
var result = [];
label: for(var i=0; i<arr.length; i++) {
for(var j=0; j<result.length; j++) {
if(result[j] == arr[i]) {
continue label;
}
}
result.push(arr[i]);
}
return result;
}
//與后面的進(jìn)行比較(不會(huì)改變?cè)瓟?shù)組)
function deleteRepeat() {
var result = [];
for(var i = 0; i < arr.length; i++) {
for(var j = i+1; j < arr.length; j++) {
if(arr[i] == arr[j]) {
j = ++i;
}
}
result.push(arr[i]);
}
return result;
}
// splice()方法 (會(huì)改變?cè)瓟?shù)組)
function deleteRepeat() {
for(var i = 0; i < arr.length; i++) {
for(var j = i+1; j < arr.length; j++) {
if(arr[i] == arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
return arr;
}
// 利用對(duì)象的屬性不能重復(fù)特點(diǎn)(不會(huì)改變?cè)瓟?shù)組)
function deleteRepeat() {
var result = [];
var object = {};
for(var i = 0; i < arr.length; i++) {
var t = arr[i];
if(!object[t]) {
result.push(t);
object[t] = true;
}
}
return result;
}
// 先排序再去重(只需要進(jìn)行一次for循環(huán)、 會(huì)改變?cè)瓟?shù)組)
function deleteRepeat() {
var arr1 = arr.sort();
var result = [];
for(var i = 0; i < arr1.length; i++) {
if(arr1[i] != arr1[i+1]) {
result.push(arr1[i]);
}
}
return result;
}
二、ES5方法:
利用IndexOf()方法
map()方法或forEach()方法或filter()方法
三、ES6方法
var a = [1, 2, 2, 3, 3, 3]; [...new Set(a)]; [1, 2, 3]
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
PS:這里再為大家提供幾款相關(guān)工具供大家參考使用:
在線去除重復(fù)項(xiàng)工具:
http://tools.jb51.net/code/quchong
在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript回車(chē)完美實(shí)現(xiàn)tab切換功能
這篇文章主要介紹了javascript通過(guò)回車(chē)實(shí)現(xiàn)tab切換功能,需要的朋友可以參考下2014-03-03
使用Fuse.js實(shí)現(xiàn)高效的模糊搜索功能
在現(xiàn)代?Web?應(yīng)用程序中,實(shí)現(xiàn)高效的搜索功能是至關(guān)重要的,Fuse.js?是一個(gè)強(qiáng)大的?JavaScript?庫(kù),它提供了靈活的模糊搜索和文本匹配功能,使您能夠輕松實(shí)現(xiàn)出色的搜索體驗(yàn),文中代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-01-01
webpack-dev-server搭建本地服務(wù)器的實(shí)現(xiàn)
當(dāng)我們使用webpack打包時(shí),發(fā)現(xiàn)每次更新了一點(diǎn)代碼,都需要重新打包,我們希望本地能搭建一個(gè)服務(wù)器,本文就介紹如何使用webpack-dev-server搭建本地服務(wù)器,感興趣的可以了解一下2021-07-07

