国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JavaScrip數(shù)組去重操作實例小結(jié)

2024-05-06 16:52:27
字體:
供稿:網(wǎng)友

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

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

<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>

運行結(jié)果:

JavaScrip,數(shù)組去重

內(nèi)置的forEach方法

<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>

運行結(jié)果:

JavaScrip,數(shù)組去重

萬能的for方法

<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ù)組內(nèi)判斷是否有這個值,沒有的情況下,就推入該新數(shù)組    temp.indexOf(array[i]) === -1 ? temp.push(array[i]) : '';  }  return temp;}uniqueUseFor(arr);console.log(uniqueUseFor(arr))</script>

運行結(jié)果:

JavaScrip,數(shù)組去重

第一種方法:

<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++) //從第二項開始遍歷  {    //如果當前數(shù)組的第i項在當前數(shù)組中第一次出現(xiàn)的位置不是i,    //那么表示第i項是重復的,忽略掉。否則存入結(jié)果數(shù)組    if(this.indexOf(this[i]) == i) n.push(this[i]);  }  return n;};console.log(arr.unique());</script>

第二種方法:

<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>

第三種方法:

<script>var arr = [1,2,3,4,1,2,4,5,6];console.log(arr);Array.prototype.unique = function() {  var n = []; //一個新的臨時數(shù)組  for (var i = 0; i < this.length; i++) //遍歷當前數(shù)組  {    //如果當前數(shù)組的第i已經(jīng)保存進了臨時數(shù)組,那么跳過,    //否則把當前項push到臨時數(shù)組里面    if (n.indexOf(this[i]) == -1) n.push(this[i]);  }  return n;};console.log(arr.unique());</script>

上述三種方法運行結(jié)果為:

JavaScrip,數(shù)組去重

希望本文所述對大家JavaScript程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昭通市| 桃园县| 乌拉特后旗| 镶黄旗| 通榆县| 江孜县| 积石山| 琼中| 三明市| 朝阳区| 田东县| 扶余县| 汶上县| 普定县| 伽师县| 汝南县| 宜川县| 柘城县| 徐闻县| 遂平县| 鸡东县| 通化县| 察哈| 凭祥市| 澄江县| 长泰县| 托克逊县| 岱山县| 盈江县| 罗源县| 河南省| 肥城市| 义乌市| 长汀县| 宝兴县| 黄大仙区| 乌兰察布市| 滦平县| 陆丰市| 绵阳市| 贡山|