JS数组去重

Published: 17 Sep 2013

遇到个需要数组去重的问题

利用Object的本身就像一个map的特点,

var arr = [1,2,2,2,6,6,6,2,2,3];
var o = {};
//如此循环,数组中相同的值会作为o的相同属性覆盖之前的值,事实上值也没什么变化
for (var i=0; i<arr.length; i++) {
    o[arr[i]] = arr[i];
}
var resultArr = [];
//再遍历一遍o的属性,就可以得到去重复之后的数字了
for (var item in o) {
    resultArr.push(item);
}