最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

獲取JavaScript數(shù)組中的所有唯一值(刪除重復(fù)項(xiàng))

獲取JavaScript數(shù)組中的所有唯一值(刪除重復(fù)項(xiàng))

獲取JavaScript數(shù)組中的所有唯一值(刪除重復(fù)項(xiàng))我有一系列數(shù)字,我需要確保它們是唯一的。我在互聯(lián)網(wǎng)上找到了下面的代碼片段,它的工作情況很好,直到數(shù)組中的數(shù)字為零。我發(fā)現(xiàn)這個(gè)其他腳本在SO上看起來幾乎就像它,但它不會(huì)失敗。所以為了幫助我學(xué)習(xí),有人可以幫我確定原型腳本出錯(cuò)的地方嗎?Array.prototype.getUnique = function() {  var o = {}, a = [], i, e;  for (i = 0; e = this[i]; i++) {o[e] = 1};  for (e in o) {a.push (e)};  return a;}
查看完整描述

4 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

更新了ES6 / ES2015的答案:使用Set,單行解決方案是:

var items = [4,5,4,6,3,4,5,2,23,1,4,4,4]var uniqueItems = Array.from(new Set(items))

哪個(gè)回報(bào)

[4, 5, 6, 3, 2, 23, 1]

正如le_m建議的那樣,這也可以使用spread運(yùn)算符縮短,比如

var uniqueItems = [...new Set(items)]


查看完整回答
反對(duì) 回復(fù) 2019-05-23
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

One Liner,Pure JavaScript

使用ES6語法

list = list.filter((x, i, a) => a.indexOf(x) == i)

x --> item in array
i --> index of item
a --> array reference, (in this case "list")


使用ES5語法

list = list.filter(function (x, i, a) { 
    return a.indexOf(x) == i; });

瀏覽器兼容性:IE9 +


查看完整回答
反對(duì) 回復(fù) 2019-05-23
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

我后來發(fā)現(xiàn)了一個(gè)使用jQuery的好方法

arr = $.grep(arr, function(v, k){
    return $.inArray(v ,arr) === k;});


查看完整回答
反對(duì) 回復(fù) 2019-05-23
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

ES6的最短解決方案: [...new Set( [1, 1, 2] )];

或者,如果要修改Array原型(如原始問題中所示):

Array.prototype.getUnique = function() {
    return [...new Set( [this] )];};

EcmaScript 6目前僅在現(xiàn)代瀏覽器中部分實(shí)現(xiàn)(2015年8月),但是Babel已經(jīng)變得非常流行,可以將ES6(甚至是ES7)轉(zhuǎn)換回ES5。那樣你今天就可以編寫ES6代碼了!

如果你想知道...它意味著什么,它就叫做傳播算子。來自MDN:?擴(kuò)展運(yùn)算符允許在需要多個(gè)參數(shù)(用于函數(shù)調(diào)用)或多個(gè)元素(用于數(shù)組文字)的地方擴(kuò)展表達(dá)式?。因?yàn)镾et是可迭代的(并且只能具有唯一值),所以擴(kuò)展運(yùn)算符將展開Set以填充數(shù)組。

學(xué)習(xí)ES6的資源:


查看完整回答
反對(duì) 回復(fù) 2019-05-23
  • 4 回答
  • 0 關(guān)注
  • 1880 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)