数组去重
方法一:indexOf
var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
var newArr = [];
if (!arr) {
return false;
}
for (var i =0; i< arr.length; i++) {
newArr.indexOf(arr[i]) < 0 ? newArr.push(arr[i]) : '';
}
return newArr;
}
console.log(unique(arr1));
方法二:对象
var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
var newArr = [],
temp = {};
if (!arr) {
return false;
}
for (var i =0; i< arr.length; i++) {
if (!temp[arr[i]]) {
temp[arr[i]] = 1;
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(arr1));
方法三:键值互换(该方法会把数组中的数值类型的值转换为字符串)
var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
var newArr = [],
temp = {};
arr.forEach(function (val) {
temp[val] = 1;
});
console.log(temp)
for(var item in temp) {
newArr.push(item);
}
return newArr;
}
console.log(unique(arr1));
//["1", "2", "3"]

浙公网安备 33010602011771号