最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript數(shù)組去重方法總結(jié)(推薦)

 更新時間:2019年03月20日 16:23:23   作者:風(fēng)語1201  
這篇文章主要介紹了javascript數(shù)組去重方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

 第一種--對象鍵值去重

Array.prototype.unique1 = function () {
   var r = {},
    temp = []
   for (var i = 0; i < this.length; i++) {
    if (!r[this[i]]) {
     r[this[i]] = 1
     temp.push(this[i])
    }
   }
   return temp
  }

第二種--splice刪除去重

Array.prototype.unique2 = function () {
   for (var i = 0; i < this.length; i++) {
    for (var j = i + 1; j < this.length; j++) {
     if (this[i] === this[j]) {
      this.splice(j, 1)
      j--
     }
    }
   }
   return this
  }

第三種--利用數(shù)組indexOf方法

// 循環(huán)遍歷當(dāng)前數(shù)組,當(dāng)前不在臨時數(shù)組的,push
  Array.prototype.unique3 = function () {
   var temp = []
   for (var i = 0; i < this.length; i++) {
    if (temp.indexOf(this[i]) === -1) temp.push(this[i])
   }
   return temp
  }

第四種--數(shù)組下標

// 當(dāng)前數(shù)組的第i項在當(dāng)前數(shù)組第一次出現(xiàn)的位置不是i,當(dāng)前項即重復(fù),反之
  Array.prototype.unique4 = function () {
   var temp = [this[0]]
   for (var i = 1; i < this.length; i++) {
    if (this.indexOf(this[i]) === i) temp.push(this[i])
   }
   return temp
  }

第五種

// 先排序,找相鄰的項
  // 這個會改變原來數(shù)組的順序
  Array.prototype.unique5 = function () {
   var tempArr = this.sort(),
    temp = [tempArr[0]]
   for (var i = 1; i < tempArr.length; i++) {
    if (tempArr[i] !== temp[temp.length - 1]) temp.push(tempArr[i])
   }
   return temp
  }

第六種

// 優(yōu)化遍歷數(shù)組
  // 獲取沒重復(fù)的最右一值放入新數(shù)組
  Array.prototype.unique6 = function () {
   var temp = []
   for (var i = 0; i < this.length; i++) {
    for (j = i + 1; j < this.length; j++) {
     if (this[i] === this[j]) {
      i++;
      j = i;
     }
    }
    temp.push(this[i])
   }
   return temp
  }

第七種--es6 set

  Array.prototype.unique7 = function () {
   var temp = new Set(this)
   return [...temp]
  }

第八種--filter

  Array.prototype.unique8 = function () {
   return this.filter(function (ele, index, self) {
    return self.indexOf(ele) === index;
   })
  }

以上所述是小編給大家介紹的javascript數(shù)組去重方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

盐津县| 广东省| 东安县| 贵州省| 四子王旗| 龙里县| 曲靖市| 屏东市| 隆尧县| 石狮市| 瑞金市| 孟村| 黄大仙区| 东莞市| 江华| 内黄县| 潮安县| 米易县| 桂阳县| 樟树市| 繁峙县| 额敏县| 宜州市| 巨野县| 太原市| 利津县| 瓮安县| 甘泉县| 和平区| 陆川县| 调兵山市| 东港市| 吉隆县| 正定县| 娄烦县| 瑞金市| 英德市| 岑巩县| 安庆市| 莒南县| 清镇市|