一般
介绍 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,我
以上是本文的全部内容,希望本文的内容能给大家的
学习或
工作带来一定的帮助,同时也希望能给予更多的
支持!