JavaScrip數(shù)組去重的方法有哪些-創(chuàng)新互聯(lián)

這篇文章主要講解了“JavaScrip數(shù)組去重的方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JavaScrip數(shù)組去重的方法有哪些”吧!

成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、成都做網(wǎng)站、成都網(wǎng)站設(shè)計、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設(shè)計師團隊。

本文實例講述了JavaScrip數(shù)組去重操作。分享給大家供大家參考,具體如下:

內(nèi)置的for-of方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<script>

var arr=[2,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];

function uniqueUseForOf(array) {

  const temp = []; //一個臨時數(shù)組

  // 傳入值必須存在,且長度小于等于1的時候直接返回數(shù)組

  if (array && array.length <= 1) {

    return array;

  } else {

    //遍歷當(dāng)前數(shù)組

    for (let x of array) {

      temp.indexOf(x) === -1 ? temp.push(x) : '';

    }

  }

  return temp;

}

uniqueUseForOf(arr);

console.log(uniqueUseForOf(arr))

</script>

內(nèi)置的forEach方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<script>

var arr=[3,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];

function uniqueUseForEach(array) {

  // 傳入值必須存在,且長度小于等于1的時候直接返回數(shù)組

  if (array && array.length <= 1) {

    return array;

  } else {

    var temp = []; //一個臨時數(shù)組

    //遍歷當(dāng)前數(shù)組

    array.forEach(function (value, index) {

      temp.indexOf(value) == -1 ? temp.push(value) : '';

    })

    return temp;

  }

}

uniqueUseForEach(arr);

console.log(uniqueUseForEach(arr))

</script>

萬能的for方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<script>

var arr=[1,1,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];

function uniqueUseFor(array) {

  var temp = []; //一個臨時數(shù)組

  //遍歷當(dāng)前數(shù)組

  for (var i = 0, j = array.length; i < j; i++) {

    //很直白,新數(shù)組內(nèi)判斷是否有這個值,沒有的情況下,就推入該新數(shù)組

    temp.indexOf(array[i]) === -1 ? temp.push(array[i]) : '';

  }

  return temp;

}

uniqueUseFor(arr);

console.log(uniqueUseFor(arr))

</script>

第一種方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<script>

var arr = [1, 2, 3, 4, 1, 2, 4, 5, 6];

console.log(arr);

Array.prototype.unique = function() {

  var n = [this[0]]; //結(jié)果數(shù)組

  for(var i = 1; i < this.length; i++) //從第二項開始遍歷

  {

    //如果當(dāng)前數(shù)組的第i項在當(dāng)前數(shù)組中第一次出現(xiàn)的位置不是i,

    //那么表示第i項是重復(fù)的,忽略掉。否則存入結(jié)果數(shù)組

    if(this.indexOf(this[i]) == i) n.push(this[i]);

  }

  return n;

};

console.log(arr.unique());

</script>

第二種方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<script>

var arr = [1,2,3,4,1,2,4,5,6];

console.log(arr);

Array.prototype.unique = function()

{

  var n = {},

    r = []; //n為hash表,r為臨時數(shù)組

  for (var i = 0; i < this.length; i++) { //遍歷當(dāng)前數(shù)組

    if (!n[this[i]]) { //如果hash表中沒有當(dāng)前項

      n[this[i]] = true; //存入hash表

      r.push(this[i]); //把當(dāng)前數(shù)組的當(dāng)前項push到臨時數(shù)組里面

    }

  }

  return r;

};

console.log(arr.unique());

</script>

感謝各位的閱讀,以上就是“JavaScrip數(shù)組去重的方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JavaScrip數(shù)組去重的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

本文標(biāo)題:JavaScrip數(shù)組去重的方法有哪些-創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article36/djidsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)