1.每次删除后面重复的元素
function removeRepeat1(arr) {
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--;
}
}
}
}
2.使用数组的indexOf()方法
function removeRepeat2(arr) {
var out = [], i;
for (i = 0; i < arr.length; i++) {
if (out.indexOf(arr[i]) === -1) {
out.push(arr[i])
}
}
return out
}
3.观察数组该元素是否是第一次出现
function removeRepeat3(arr) {
return arr.filter(function (val, i) {
return arr.indexOf(val) === i
})
}
4.利用Object
function removeRepeat4(arr) {
var n = {}, out = [];
for (var i = 0; i < arr.length; i++) {
if (!n[arr[i]]) {
n[arr[i]] = true;
out.push(arr[i])
}
}
return out
}
5.es6的set数据结构
function removeRepeat5(arr) {
return [...new Set(arr)]
}