js数组去重的几种方式,js数组去重最简单的方法,js数组去重的11种方法

js数组去重的几种方式,js数组去重最简单的方法,js数组去重的11种方法

本文主要介绍js阵列重复数据消除的11种方法。对js数组感兴趣的同学可以尝试这11种方法。

在实际工作或面试中,我们经常会遇到“阵列重复数据删除”的问题。接下来,js实现的阵列重复数据消除方法有很多:

1.依次将数组的每个元素与其他元素进行比较,找到重复的元素并删除它们。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5];

console . log(arr);//[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5, 5]

函数noRepeat1(arr) {

for(var I=0;I arr . length-1;i ){

for(var j=I 1;j排列长度;j ){

if(arr[i]===arr[j]){

arr.splice(j,1);

j-;

}

}

}

返回arr

}

var arr 2=no repeat 1(arr);

console . log(arr 2);//[1, 23, 3, 5, 6, 7, 9, 8]

2.借助indexOf()方法,判断该元素在该数组中第一次出现的位置下标是否等于循环下标。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5];

console . log(arr);//[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5]

函数noRepeat2(arr) {

for(var I=0;长度;i ) {

if (arr.indexOf(arr[i])!=i) {

剪接排列(I,1);//删除数组元素后,数组长度减1后的元素向前移动。

I-;//数组下标回退

}

}

返回arr

}

var new arr=no repeat 2(arr);

console . log(new arr);//[1, 23, 3, 5, 6, 7, 9, 8]

3.在数组中使用filter方法

var arr=['苹果','香蕉','梨','苹果','橘子'];

console.log(arr) //['苹果','香蕉','梨','苹果','橘子','橘子']

var new arr=arr . filter(function(value,index,self){

return self . index of(value)===index;

});

console . log(new arr);//['苹果','香蕉','梨','橘子']

4.在新数组的帮助下,通过square的index判断数组中当前元素的index,如果等于循环的下标,则将其添加到新数组中。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5];

console.log(arr) //[1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5]

函数noRepeat4(arr) {

var ret=[];

for(var I=0;长度;i ) {

if (arr.indexOf(arr[i])==i) {

ret . push(arr[I]);

}

}

返回ret

}

var arr 2=no repat 4(arr);

console . log(arr 2);//[1, 23, 3, 5, 6, 7, 9, 8]

5.使用空对象记录新数组中已经存储的元素。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5];

console.log(arr) //[1,23,1,1,1,3,23,5,6,7,9,9,8,5]

var obj={ };

var new arr=[];

for(var I=0;iarr .长度;i ){

如果(!obj[arr[i]]){

obj[arr[I]]=true;

new arr . push(arr[I]);

}

}

console . log(new arr);//[1, 23, 3, 5, 6, 7, 9, 8]

6.借助新数组,判断该元素是否存在于新数组中,如果不存在,则将该元素添加到新数组中。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5];

console . log(arr);//[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5]

函数noRepeat6(arr){

var new arr=[];

for(var I=0;长度;i ){

if(new arr . index of(arr[I])==-1){

new arr . push(arr[I]);

}

}

return newArr

}

var arr 2=no repeat 6(arr);

console . log(arr 2);//[1, 23, 3, 5, 6, 7, 9, 8]

7.借助新数组,判断该元素是否存在于新数组中。如果没有,将元素添加到新数组中(原始数组具有相同的长度,但按照字符串顺序排序)

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5];

console . log(arr);//[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5]

函数noRepeat7(arr) {

var ret=[],

结束;//临时变量用于比较重复的元素

arr . sort();//对数字重新排序

end=arr[0];

ret . push(arr[0]);

for(var I=1;长度;i ) {

if (arr[i]!=end) {//如果当前元素不等于临时元素,则将此元素添加到新数组中。

ret . push(arr[I]);

end=arr[I];

}

}

返回ret

}

var arr 2=no repat 7(arr);

console . log(arr 2);//[1, 23, 3, 5, 6, 7, 8, 9]

8.这种方法不会在新阵列的帮助下直接更改原始阵列,而是对经过重复数据消除的阵列进行排序。

var arr=[1,23,1,1,1,3,23,5,6,7,9,9,8,5];

console . log(arr);//[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5]

函数noRepeat8(arr) {

var结束;//临时变量用于比较重复的元素

arr . sort();//对数字重新排序

end=arr[0];

for(var I=1;长度;i ) {

If (arr[i]==end) {//如果当前元素等于临时元素,则从数组中删除此元素。

剪接排列(I,1);

I-;

}否则{

end=arr[I];

}

}

返回arr

}

var arr 2=no repeat 8(arr);

console . log(arr 2);//[1, 23, 3, 5, 6, 7, 8, 9]

9.双循环改变原始数组。

var arr=[1,1,2,2,3,3,4,4,5,5,4,3,1,2,6,6,6,6];

console . log(arr);//[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 1, 2, 6, 6, 6, 6]

函数noRepeat9(arr){

for(var I=0;长度;i ) {

for(var j=0;j排列长度;j ) {

if (arr[i]==arr[j] i!=j) {//删除重复的数字。

arr.splice(j,1);

}

}

}

返回arr

}

var arr 2=no repeat 9(arr);

console . log(arr 2);//[1, 2, 3, 4, 5, 6]

10.在新阵列的帮助下

var arr=[1,1,2,2,3,3,4,4,5,5,4,3,2,1,1,1];

console . log(arr);//[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 2, 1, 1, 1]

var new arr=[];

for(var I=0;长度;i ) {

var repar=[];//接收重复数据后的下标

//内部循环找到有重复数据的下标。

for(var j=I 1;j排列长度;j ) {

if (arr[i]==arr[j]) {

reparr . push(j);//找出下面重复数据的下标

}

}

//console . log(repArr);

If (repArr.length==0) {//如果重复数组没有值,则不是重复数据。

new arr . push(arr[I]);

}

}

console . log(new arr);//[5, 4, 3, 2, 1]

11.借助于ES6提供的集合结构

var arr=[1,1,2,2,3,3,4,4,5,5,4,3,2,1,1,1];

console . log(arr);//[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 2, 1, 1, 1]

函数noRepeat11(arr){

var new arr=[];

var myset=新集合(arr);//利用集合结构不能接收重复数据的特性

for(我的变量值){

新推

}

return newArr

}

var arr2=noRepeat11(arr)

console . log(arr 2);//[1, 2, 3, 4, 5]

这是js阵列重复数据消除的11种方法的详细信息。有关js阵列重复数据删除的更多信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • slice 数组,js中的slice()方法,JS数组方法slice()用法实例分析
  • js数组转字符串,字符串转数组方法,JS 数组转字符串
  • js数组转字符串,字符串转数组方法,JS 数组转字符串,JS数组转字符串实现方法解析
  • js数组筛选的方法,js 多条件筛选
  • js数组筛选的方法,js 多条件筛选,JS实现数组过滤从简单到多条件筛选
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片,JS数组的常用10种方法详解
  • js数组去重的几种方式,js数组去重最简单的方法
  • js数组去重最简单的方法,数组去重方法js
  • js数组去重最简单的方法,数组去重方法js,七种JS实现数组去重的方式
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些,js数组中去除重复值的几种方法
  • js初始化一个数组,js数组初始化的三种方式
  • js初始化一个数组,js数组初始化的三种方式,js二维数组定义和初始化的三种方法总结
  • js中数组遍历的几种方法及其区别,js数组遍历的几种方法
  • 留言与评论(共有 条评论)
       
    验证码: