扫码关注官方订阅号
var arr = [ 1,2,2,4,2 ];
for ( var i=0; i for ( var j=i+1; j }
for ( var j=i+1; j
}
如果遇到重复项,从 arr 中 splice 掉。splice 掉之后,数组下一项仍是当前索引,所以要先 j--; 再循环中的 j++,保持索引正确。
j--
j++
比如,外层第2次循环,i = 1,j = 2,然后 arr[1] 是2,arr[2] 也是2,arr[2] 会被 splice 掉,数组变成 [1,2,4,2],下个元素 4 仍是第 2 项,如果不先 j--的话会漏掉。
楼上说的没错。补充一下,直接用 filter 就可以实现了。
filter
var arr = [ 1,2,2,4,2 ]; arr.filter(function (e, i) { return arr.indexOf(e) === i; })
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果遇到重复项,从 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--的话会漏掉。楼上说的没错。补充一下,直接用
filter就可以实现了。