首页 > 编程知识 正文

列表删除指定元素,js去掉数组中重复的元素

时间:2023-05-05 02:56:20 阅读:33485 作者:4608

情况1 :删除指定元素时,在数组中不连续出现

例如序列arr=[3、0、11、0、3、0、66];

孤独唇膏:添加元素的方法. push (;

vararr=[ 3,0,11,0,3,0,66 ]; var newArry=[]; for(varI=0; i arr.length; I(if ) ARR[I]!=0) Newarry.push(arr[I]; }控制台. log (newarry;

使用mgdkj:splice (;

vararr=[ 3,0,11,0,3,0,66 ]; for(varI=0; i arr.length; I ) if(arr[I]==0) arr.splice(I,1 ); }控制台. log (arr ); 情况2 )去除指定元素,数组中连续出现几个时,如果不进行处理,就会有遗漏删除

理由:遍历循环时,I为元素下标值。 当删除具有数组的元素时,循环I的值不会改变,但是如果中央的元素变少,则对应的元素会靠前,从而忽略了相邻的要删除的元素。 使用mgdkj和方法3可以避免这个问题,强烈推荐方法3。

例如排列: arr=[3、7、11、0、0、0、3、0、55]

孤独唇膏:添加元素的方法. push (;

vararr=[ 3,7,11,0,0,0,3,0,55 ]; var newArry=[]; for(varI=0; i arr.length; I(if ) ARR[I]!=0) Newarry.push(arr[I]; }控制台. log (newarry; 使用mgdkj:splice (,使用反向遍历;

vararr=[ 3,7,11,0,0,0,3,0,55 ]; for(varI=Arr.Length-1; i=0; I--}{if(ARR[I]==0) ) ARR.splice(I,1 ); }控制台. log (arr ); 方法3 :强烈推荐这种方法

vararr=[ 3,7,11,0,0,0,3,0,55 ] for (vari=0; i arr.length; I ) if(arr[I]==0) arr.splice(I,1 ); I----; }控制台. log (arr );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。