JS有沒有比較高效的陣列去重的方法

2021-03-04 09:20:48 字數 4827 閱讀 7418

1樓:司馬刀劍

js jquery去除陣列中的重複元素

第一種專:屬$.unique()

第二種:

for(var i = 0,len = totalarray_line.length;i < len;i++)

2樓:匿名使用者

自己根據實際情況寫演算法吧

js陣列去重的幾種常見方法

3樓:折柳成萌

js 陣列去重

1注:應該也可以適用於 object陣列,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法思路:1.構建一個新的陣列存放結果2.

for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對比3.若結果陣列中沒有該元素,則存到結果陣列中**如下:

array.prototype.unique1 = function() } if(!

repeat) } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique1());

第二種方法比上面的方法效率要高思路:1.先將原陣列進行排序2.

檢查原陣列中的第i個元素 與 結果陣列中的最後一個元素是否相同,因為已經排序,所以重複元素會在相鄰位置3.如果不相同,則將該元素存入結果陣列中**如下:

array.prototype.unique2 = function() } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.

unique2());

二種方法也會有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。第三種方法(推薦使用)思路:

1.建立一個新的陣列存放結果2.建立一個空物件3.

for迴圈時,每次取出一個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的一個屬性,並賦值為1,存入到第2步建立的物件中。說明:至於如何對比,就是每次從原陣列中取出一個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。

**如下:

array.prototype.unique3 = function(); for(var i = 0; i < this.

length; i++) } return res;}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];alert(arr.unique3());

js中陣列去重的幾種方法

4樓:司馬刀劍

function clear(arr) ; // 1.1 記錄陣列中元素出現的次數

for (var i = 0; i < arr.length; i++) else

}// console.log(o);

// 2 生成一個新的陣列,儲存不重複的元素var newarray = ;

// 2.1 遍歷物件o中的所有屬性

for (var key in o) else }}return newarray;

} var array = ['c', 'a', 'z', 'a', 'x', 'a'];

var newarray = clear(array);

console.log(newarray);

js object陣列去重

5樓:匿名使用者

js 陣列去重

注:應該也可以適用於 object陣列,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法

思路:1.構建一個新的陣列存放結果

2.for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對比

3.若結果陣列中沒有該元素,則存到結果陣列中

**如下:

array.prototype.unique1 = function()

}if(!repeat)

}return res;

}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique1());

第二種方法比上面的方法效率要高

思路:1.先將原陣列進行排序

2.檢查原陣列中的第i個元素 與 結果陣列中的最後一個元素是否相同,因為已經排序,所以重複元素會在相鄰位置

3.如果不相同,則將該元素存入結果陣列中

**如下:

array.prototype.unique2 = function()

}return res;

}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique2());

二種方法也會有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。

第三種方法(推薦使用)

思路:1.建立一個新的陣列存放結果

2.建立一個空物件

3.for迴圈時,每次取出一個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的一個屬性,並賦值為1,存入到第2步建立的物件中。

說明:至於如何對比,就是每次從原陣列中取出一個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。

**如下:

array.prototype.unique3 = function();

for(var i = 0; i < this.length; i++)

}return res;

}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];

alert(arr.unique3());

js中陣列去重,儘量只用for 和if迴圈的,網上找的方法很多都不能用,謝謝大神們

6樓:

方法一:去重複

資料方法二:取重複資料

array.prototype.distinct=function()//防止迴圈到prototype

if (b[d]!=1)

else

}//return a;

return c.distinct1();

}array.prototype.distinct1=function()

}return a;}

7樓:司馬唐遷

r.push(v);

記錄下js幾種常見的陣列排序和去重的方法

8樓:司馬刀劍

js 陣列去重

1注:應該也可以適用於 object陣列,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法思路:1.構建一個新的陣列存放結果2.

for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對比3.若結果陣列中沒有該元素,則存到結果陣列中**如下:

array.prototype.unique1 = function() } if(!

repeat) } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique1());

第二種方法比上面的方法效率要高思路:1.先將原陣列進行排序2.

檢查原陣列中的第i個元素 與 結果陣列中的最後一個元素是否相同,因為已經排序,所以重複元素會在相鄰位置3.如果不相同,則將該元素存入結果陣列中**如下:

array.prototype.unique2 = function() } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.

unique2());

二種方法也會有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。第三種方法(推薦使用)思路:

1.建立一個新的陣列存放結果2.建立一個空物件3.

for迴圈時,每次取出一個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的一個屬性,並賦值為1,存入到第2步建立的物件中。說明:至於如何對比,就是每次從原陣列中取出一個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。

**如下:

array.prototype.unique3 = function(); for(var i = 0; i < this.

length; i++) } return res;}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];alert(arr.unique3());

jquery有沒有陣列去重的方法

9樓:匿名使用者

js jquery去除陣列中的重複元素

第一種:

$.unique()

第二種:

for(var i = 0,len = totalarray_line.length;i < len;i++)

10樓:year何以陌生

var arr = [0,2,4,2,1,0];

var new_arr = ;

for(var i = 0;i

Js陣列去重的幾種方法總結,js陣列去重總結的方法,自己用到的幾種,總結

把陣列放在set內,就去重了,下面是示例 const items new set 1,2,3,4,5,3,4,5 const array array.from items console.log array 要不然就是迴圈遍歷陣列內,去重數容據 js 陣列去重總結的方法,自己用到的幾種,總結 fun...

有沒有比較搞笑的電影值得大家去,有沒有比較搞笑的電影值得大家去推薦?

說說在我這裡排名前三名的喜劇電影吧,不知道有沒有朋友和一樣喜歡這在部劇的?第一部 大話西遊 這部喜劇片是周星馳的經典之作,相信多數國人都看過,這部電影堪稱中國喜劇片史上最經典的電影之一。改編依據是吳承恩所撰寫的神怪 西遊記 該片主要講述了至尊寶為了救白晶晶而穿越回到五百年前,遇見紫霞仙子之後發生一段...

有沒有比較的植物圖鑑,有沒有比較推薦的植物圖鑑?

額 bai圖鑑du 沒有,zhi天涯dao有個帖 內子 容 去京東或卓越看看,也許有適合你的。關於植物圖鑑的書籍 flora von deutschland,sterreich und der schweiz 奧托手繪彩色植物圖譜 這是一本適於學校和家庭使用的彩繪植物圖志,1885年首次印刷,包含7...