删除Javascript数组权重的五种常用方法

一般介绍

Javascript的数组权重问题将在许多访谈中遇到,现在进行了总结。

先建立数组

var arr = { 1,2,3,3,2,'我','我',34,'我',楠,南};



第一种

理念:建立一个临时数组,使用循环来决定是否在每一个项目在ARR临时数组相同的值。如果没有,则将该值添加到临时数组中。如果有相同的值,不要添加它,最后返回到临时数组中。

代码uff1a


array.prototype.removeduplicate =函数(){
var;
对于(var i = 0;i < this.length;i++){
如果(n.indexof(这{我})= = 1){
N.push(本{我});
}
}
返回N;
}
var m = arr.removeduplicate();
console.log(M); / / { 1, 2, 3,我


注意:重复的南值不会被移除。

第二种

理念:创造一个临时数组为(指标)回收为了判断每项的ARR的ARR的位置第一时间的方法,如果第一次出现在到达所处的位置是,在它不具有相同的值,将它添加到该项目中的临时数组,如果第一个出现在ARR的位置不是他的位置具有相同的值之前,是不是他加入到临时数组并返回临时数组;

代码uff1a


array.prototype.removeduplicate =函数(){
var;
对于(var i = 0;i < this.length-1;i++){
如果(this.indexof(这{我})= =我){
N.push(本{我});
}
}
返回N;
}
var m = arr.removeduplicate();
console.log(M); / / { 1, 2, 3,我


注意:南方值将被删除。

第三种

理念:建立一个临时对象,使用for循环来检测是否临时对象ARR {我}属性。如果没有这样的属性,它表明ARR {我}没有重复的值之前。设置ARR {我}属性为true的临时对象,说明它有这个属性,加入这项临时数组;最后,返回的临时数组。

代码uff1a


array.prototype.removeduplicate =函数(){
var,{,};
对于(var i = 0;i < this.length;i++){
如果(!{此{ } }){
{这个{ } } =真的;
N.push(本{我});
}
}
返回N;
}
var m = arr.removeduplicate();
console.log(M); / / { 1, 2, 3,我


第四种

想法:首先排列数组,然后比较每个项的值是否等于它后面的项,如果不是相等的话,将其添加到临时数组中,最后返回到临时数组。

代码uff1a


array.prototype.removeduplicate =函数(){
var;
This.sort();
对于(var i = 0;i < this.length;i++){
如果({ { })!= { { + 1 }){
N.push(本{我});
}
}
返回N;
}
var m = arr.removeduplicate();
console.log(M); / / { 1, 2, 3,34,楠,南,我


注意:重复的南值不会被移除。

第五种

理念:使用方法重6方法,并将它转换成一个数组,array.from

集合是一种新的数据结构,它可以接收数组或一类数组对象,自动重复一个重复项,并返回一个对象。

代码uff1a


array.prototype.removeduplicate =函数(){
返回(array.from(新(这)));
}
var m = arr.removeduplicate();
console.log(M); / / { 1, 2, 3,我



以上是本文的全部内容,希望本文的内容能给大家的学习或工作带来一定的帮助,同时也希望能给予更多的支持!