澳门新莆京手机网站-新蒲京娱乐场 > 计算机 > js数组去重的两种常用方法总计

js数组去重的两种常用方法总计

如上那篇怎么着高功效去掉js数组中的重复项正是作者分享给大家的全体内容了,希望能给大家八个参阅,也可望我们多多指教脚本之家。

首先种是相比健康的法子   思路:   1.创设八个新的数组寄存结果   2.for循环中年晚年是从原数组中抽取多个因素,用这么些因素循环与结果数组比较   3.若结实数组中平昔不应当因素,则存到结果数组中  代码如下: Array.prototype.unique1 = function(卡塔尔(قطر‎{  var res = [this[0]];  for(var i = 1; i < this.length; i++){   var repeat = false;   for(var j = 0; j < res.length; j++){    if(this[i] == res[j]){     repeat = true;     break;    }   }   if(!repeat){    res.push(this[i]);   }  }  return res; } var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0] alert(arr.unique1(卡塔尔国卡塔尔国;   第三种办法比上面的点子功效要高   思路:   1.先将原数组进行排序   2.反省原数组中的第i个要素 与 结果数组中的最终一个要素是还是不是相似,因为早就排序,所以重复成分会在隔壁地方  3.风度翩翩旦不平等,则将该因素存入结果数组中   代码如下: Array.prototype.unique2 = function(卡塔尔(قطر‎{  this.sort(卡塔尔(قطر‎; //先排序  var res = [this[0]];  for(var i = 1; i < this.length; i++){   if(this[i] !== res[res.length - 1]){    res.push(this[i]);   }  }  return res; } var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0] alert(arr.unique2(卡塔尔State of Qatar;   第二种方法也可以有早晚的局限性,因为在去重前行行了排序,所以最后回来的去重结果也是排序后的。借使须求不改过数组的逐个去重,那这种措施便不可取了。   第三种方法(推荐应用)   思路:   1.创设多少个新的数组贮存结果   2.开立二个空对象   3.for循环时,每便收取一个因素与指标举办对照,假如那些因素不重复,则把它寄存到结果数组中,同一时间把这一个因素的内容作为对象的一个性能,并赋值为1,存入到第2步创设的靶子中。   表达:至于怎么对待,正是历次从原数组中收取多个因素,然后到对象中去拜访这本个性,假设能访问到值,则表明重新。     复制代码 代码如下: Array.prototype.unique3 = function(卡塔尔{  var res = [];  var json = {};  for(var i = 0; i < this.length; i++){   if(!json[this[i]]){    res.push(this[i]);    json[this[i]] = 1;   }  }  return res; }   var arr = [112,112,34,'你好',112,112,34,'你好','str','str1']; alert(arr.unique3());

方法三: 利用json对象是还是不是有属性值

 本篇小说首借使对js数组去重的三种常用方法开展了总计介绍,需求的意中人能够还原参照他事他说加以侦查下,希望对我们具备助于

3.若权且数组中从未该因素,则存到临时数组中

第后生可畏种是相比较正规的方法...

艺术生龙活虎: 常规形式

办法二: 使用了暗许Js数组sort私下认可排序,是按ASCII举行排序;

2.创办二个空对象json

若要依据升降序的排列如下:

1.先将日前数组实行排序

Copyright © 2015-2019 http://www.carrefourstation.com. 澳门新莆京手机网站-新蒲京娱乐场有限公司 版权所有