var arr = [ 1,2,2,4,2 ];
for ( var i=0; i 雷雷 }
}
如果遇到重複項,從 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; })
如果遇到重複項,從 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
就可以實現了。