js在数组中除去重复的要素自笔者保护留七个(三

2019-07-26 12:52栏目:WRB前端

例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao'];

正文实例陈说了javascript删除数组重复成分的艺术。分享给大家供我们参谋。具体分析如下:

首先种思路是:遍历要刨除的数组arr, 把成分分别放入另二个数组tmp中,在认清该因素在arr中不设有才同意放入tmp中

这里享受三个前端面试高频题,主要完成javascript删除数组重复成分。希望对初学者有所扶助

用到多个函数:for ...in 和 indexOf()

//数组去重的方法
Array.prototype.unique=function(){
  //集中声明变量
  var 
   oldArr=this,
   newArr=[oldArr[0]],
   len=oldArr.length,
   i=1;
  //过滤空数组
  if(!len) return this;
  //过滤重复元素
  for(;i<len;i  ){
    newArr.indexOf(oldArr[i])<0 ? newArr.push(_this) : ''; 
  }
  //返回过滤后的数组没有影响原数组
  return newArr;
}
var arr=['a','a','b','a','c','d'];
console.log(arr.unique());
//["a", "b", "c", "d", unique: function]
<script type="text/javascript"> 
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var tmp = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(tmp.indexOf(arr[i])==-1){
tmp.push(arr[i]);
}
}
return tmp;
}

</script>

虽说网络也可以有相当的多还要本人写的也不咋地,但是毕竟自个儿写的逻辑清楚之后还足以顺着逻辑扩充比方扩张到对象成分去重也许是足以同期操作四个数组等等这里再放上别人的写的多少个办法能够总结相比较下

其次种思路是:把目的数组arr的成分值和键的地点调换自动就把重复的要素给删除掉了,调换后的样子:array('qiang'=>1,'ming'=>1,'tao'=>1)

方法1:

<script type="text/javascript">
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
var tmp = new Array();

for(var m in arr){
tmp[arr[m]]=1;
}
//再把键和值的位置再次调换
var tmparr = new Array();

for(var n in tmp){
tmparr.push(n);
}
return tmparr;
}
</script>
function oSort(arr)
{
  var result ={};
  var newArr=[];
  for(var i=0;i
  {
 if(!result[arr[i]])
 {
   newArr.push(arr[i])
   result[arr[i]]=1
 }
  }
  return newArr
}

你也许感兴趣的稿子:

  • js删除数组成分、清空数组的简练方法(一定要看)
  • JavaScript从数组中剔除钦命值元素的艺术
  • 心得js中splice()的有力(插入、删除或交流数组的成分)
  • Javascript根据钦点下标或对象删除数组成分
  • 解析javascript 数组以及json成分的增加删除
  • JavaScript数组Array对象增删成分方法总括
  • js删除Array数组中内定成分的二种艺术
  • 基于JavaScript落成移除(删除)数组中钦点成分
  • JS删除数组元素的函数介绍
  • JavaScrip数组删除特定成分的三种办法总结

方法2:

遍历要删减的数组arr, 把成分分别放入另贰个数组tmp中,在认清该因素在arr中子虚乌有才允许放入tmp中
用到三个函数:for ...in 和 indexOf()

var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
 function unique(arr){
   // 遍历arr,把元素分别放入tmp数组(不存在才放)
   var tmp = new Array();
   for(var i in arr){
  //该元素在tmp内部不存在才允许追加
  if(tmp.indexOf(arr[i])==-1){
  }
 }
  return tmp;
}

方法3:

把对象数组arr的成分值和键的职位沟通自动就把重复的成分给删除掉了,调换后的表率:array('qiang'=>1,'ming'=>1,'tao'=>1)

<script type="text/javascript">
  var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
  function unique(arr){
    var tmp = new Array();
    for(var m in arr){
      tmp[arr[m]]=1;
    }
    //再把键和值的位置再次调换
    var tmparr = new Array();
    for(var n in tmp){
     tmparr.push(n);
    }
   return tmparr;
 }
</script>

方法4

/**
* 去除数组重复元素
*/
function uniqueArray(data){ 
  data = data || []; 
  var a = {}; 
  for (var i=0; i<data.length; i  ) { 
    var v = data[i]; 
    if (typeof(a[v]) == 'undefined'){ 
      a[v] = 1; 
    } 
  }; 
  data.length=0; 
  for (var i in a){ 
    data[data.length] = i; 
  } 
  return data; 
} 

措施都大约第二个主意主见仍旧蛮高明的~

梦想本文所述对我们的javascript程序设计有所扶助。

你也许感兴趣的篇章:

  • js删除数组元素、清空数组的简练方法(不可不看)
  • JavaScript从数组中剔除钦定值成分的办法
  • js删除Array数组中钦点成分的三种方法
  • Javascript依据钦命下标或对象删除数组成分
  • 深入分析javascript 数组以及json成分的丰裕删除
  • JS删除数组里的某部成分方法
  • JavaScript数组Array对象增删成分方法计算
  • 基于JavaScript达成移除(删除)数组中钦赐成分
  • Javascript循环删除数组瓜时素的几种格局亲自过问
  • javascript数组操作(创造、成分删除、数组的正片)
  • JS数组array成分的拉长和删除方法代码实例
  • JS完结基于钦定值删除数组中的成分操作示例

版权声明:本文由威尼斯人app发布于WRB前端,转载请注明出处:js在数组中除去重复的要素自笔者保护留七个(三