javascript - 第二个for循环里面的j--什么意思?

查看:82
本文介绍了javascript - 第二个for循环里面的j--什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

for ( var i=0; i<arr.length; i++ ) {

for ( var j=i+1; j<arr.length; j++ ) {
    if ( arr[i] == arr[j] ) {
        arr.splice( j, 1 );
        j--;
    }
}

}

解决方案

如果遇到重复项,从 arr 中 splice 掉。
splice 掉之后,数组下一项仍是当前索引,所以要先 j--; 再循环中的 j++,保持索引正确。

比如,外层第2次循环,i = 1,j = 2,然后 arr[1] 是2,arr[2] 也是2,arr[2] 会被 splice 掉,数组变成 [1,2,4,2],下个元素 4 仍是第 2 项,如果不先 j--的话会漏掉。

这篇关于javascript - 第二个for循环里面的j--什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆