溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScrip數(shù)組去重的方法有哪些

發(fā)布時間:2021-09-10 09:12:43 來源:億速云 閱讀:113 作者:chen 欄目:web開發(fā)

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

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

內置的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 {

    //遍歷當前數(shù)組

    for (let x of array) {

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

    }

  }

  return temp;

}

uniqueUseForOf(arr);

console.log(uniqueUseForOf(arr))

</script>

內置的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ù)組

    //遍歷當前數(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ù)組

  //遍歷當前數(shù)組

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

    //很直白,新數(shù)組內判斷是否有這個值,沒有的情況下,就推入該新數(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]]; //結果數(shù)組

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

  {

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

    //那么表示第i項是重復的,忽略掉。否則存入結果數(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++) { //遍歷當前數(shù)組

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

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

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

    }

  }

  return r;

};

console.log(arr.unique());

</script>

感謝各位的閱讀,以上就是“JavaScrip數(shù)組去重的方法有哪些”的內容了,經過本文的學習后,相信大家對JavaScrip數(shù)組去重的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI