数码资讯
JS数组权重去除的三种常用方法综述
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
第一种是更常规的方法。
思想:
1。构建一个新数组来存储结果
的2.for环作为一个单元从原始数组各一次,并与结果数组比较。
三.如果元素在结果数组中没有元素,则将其存储在结果数组中。
复制代码代码如下所示:
array.prototype.unique1 =函数(){
{此{ 0 } };
对于(var i = 1;i < this.length;i++){
var重复= false;
对于(var j = 0;J < res.length;j++){
如果(此{ } = }){ { }
重复=真;
打破;
}
}
如果(!重复){
Res.push(本{我});
}
}
返回水库;
}
var arr = { 1,A,A,B,D,E,e,1, 0 }
警报(arr.unique1());
第二种方法比上述方法更有效。
思想:
1。首先,对原始数组进行排序。
2。检查原始数组中的i元素是否与结果数组中的最后一个元素相同,因为它已被排序,因此重复元素将位于相邻位置。
三.如果不相同,则将元素存储在结果数组中。
复制代码代码如下所示:
array.prototype.unique2 =函数(){
(这个排序);第一类
{此{ 0 } };
对于(var i = 1;i < this.length;i++){
如果({ { })!= = { 1 }){ res.length RES
Res.push(本{我});
}
}
返回水库;
}
var arr = { 1,A,A,B,D,E,e,1, 0 }
警报(arr.unique2());
第二种方法也有一定的局限性,因为排序是在权重去除之前进行的,因此最终收益的结果也是排序的,如果不改变数组的顺序来称重,这种方法是不可取的。
第三种方法(推荐)
思想:
1。创建一个新数组来存储结果
2。创建一个空对象
当3.for回路,每个元素的提取和比较的对象。如果元素不重复,则将其存储在结果数组中。同时,将该元素的内容作为对象的属性,赋值为1,存储在第二步所建立的对象中。
说明:至于如何进行比较,则是从原始数组中提取一个元素,然后在对象中访问它。如果我们可以访问这个值,我们将重复它。
复制代码代码如下所示:
array.prototype.unique3 =函数(){
var;
var JSON { };
For (VaR I = 0; I < this.length; i++) {
如果(!{此{ } }){
Res.push(本{我});
{此{ } } = 1;
}
}
返回水库;
}
var arr = { 112112,34,'你好',112112,34,'你好','str ','str1};
警报(arr.unique3());
思想:
1。构建一个新数组来存储结果
的2.for环作为一个单元从原始数组各一次,并与结果数组比较。
三.如果元素在结果数组中没有元素,则将其存储在结果数组中。
复制代码代码如下所示:
array.prototype.unique1 =函数(){
{此{ 0 } };
对于(var i = 1;i < this.length;i++){
var重复= false;
对于(var j = 0;J < res.length;j++){
如果(此{ } = }){ { }
重复=真;
打破;
}
}
如果(!重复){
Res.push(本{我});
}
}
返回水库;
}
var arr = { 1,A,A,B,D,E,e,1, 0 }
警报(arr.unique1());
第二种方法比上述方法更有效。
思想:
1。首先,对原始数组进行排序。
2。检查原始数组中的i元素是否与结果数组中的最后一个元素相同,因为它已被排序,因此重复元素将位于相邻位置。
三.如果不相同,则将元素存储在结果数组中。
复制代码代码如下所示:
array.prototype.unique2 =函数(){
(这个排序);第一类
{此{ 0 } };
对于(var i = 1;i < this.length;i++){
如果({ { })!= = { 1 }){ res.length RES
Res.push(本{我});
}
}
返回水库;
}
var arr = { 1,A,A,B,D,E,e,1, 0 }
警报(arr.unique2());
第二种方法也有一定的局限性,因为排序是在权重去除之前进行的,因此最终收益的结果也是排序的,如果不改变数组的顺序来称重,这种方法是不可取的。
第三种方法(推荐)
思想:
1。创建一个新数组来存储结果
2。创建一个空对象
当3.for回路,每个元素的提取和比较的对象。如果元素不重复,则将其存储在结果数组中。同时,将该元素的内容作为对象的属性,赋值为1,存储在第二步所建立的对象中。
说明:至于如何进行比较,则是从原始数组中提取一个元素,然后在对象中访问它。如果我们可以访问这个值,我们将重复它。
复制代码代码如下所示:
array.prototype.unique3 =函数(){
var;
var JSON { };
For (VaR I = 0; I < this.length; i++) {
如果(!{此{ } }){
Res.push(本{我});
{此{ } } = 1;
}
}
返回水库;
}
var arr = { 112112,34,'你好',112112,34,'你好','str ','str1};
警报(arr.unique3());
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。