手机版

JavaScript中关于循环删除数组元素内容的问题

时间:2021-09-11 来源:互联网 编辑:宝哥软件园 浏览:

昨天,当for循环用于阵列重复数据消除时,

首先,用double for循环比较前面的和后面的所有元素,如果它们相等,就删除它们。

但是,如果数组中有三个以上连续相等的元素,就会出现问题。

var arr=[1,1,1,2,2];for(var I=0;iarr . length-1;I){ for(var j=I ^ 1;贾尔长度;j){ if(arr[I]===arr[j]){ arr . splice(j,1);} } } document . write(' arr : ' arr);输出:

这是因为当从数组中删除一个元素时,数组的长度会减少1,后面的元素会向前移动一位,索引也会减少1,但J仍然执行J的操作。

即第一次删除i=0 j=1,删除后arr=[1,1,2,2],然后j=2,删除后j=1的元素将被忽略,继续向后遍历。

所以每次删除的情况下,J都要减1

var arr=[1,1,1,2,2];for(var I=0;iarr . length-1;I){ for(var j=I ^ 1;贾尔长度;j){ if(arr[I]==arr[j]){ arr . splice(j-,1);} } } document . write(' arr : ' arr);输出:

类似于删除数组元素,需要考虑数组长度将减少1,并且以下元素将向前移动一位

以上就是JavaScript中关于在边肖介绍的for循环中删除数组元素的问题。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:JavaScript中关于循环删除数组元素内容的问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。