1.for循环 + indexOf() + push()
function goRepeat(arr) {
let newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i]);
}
}
return newArr
}
2. for循环 + indexOf() + push()
function goRepeat(arr) {
let newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) == i) {
newArr.push(arr[i]);
}
}
return newArr;
}
3. for循环 + sort() + push()
function goRepeat(arr) {
let arrSort = arr.sort();
let newArr = [];
for (let i = 0; i < arrSort.length; i++) {
if (arrSort[i] != arrSort[i + 1]) {
newArr.push(arrSort[i]);
}
}
return newArr;
}
4. 双重for循环 + splice()
function goRepeat(arr) {
let len = arr.length
let newArr = [...arr]
for (let i = 0; i < len; i++) {
for (let j = i + 1; j < len; j++) {
if (newArr[i] === newArr[j]) {
newArr.splice(i, 1);
len--;
j--;
}
}
}
return newArr
}
5. es6剩余运算符’… ’ + new Set()
function goRepeat(arr) {
let newArr = Array.from(new Set(arr))
return newArr
}
6. includes() + push()
function goRepeat(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) {
newArr.push(arr[i]);
}
}
return newArr;
}
7. hasOwnProperty() + filter() + typeof
function goRepeat(arr) {
var obj = {};
return arr.filter(function (item, index, arr) {
return obj.hasOwnProperty(typeof item + item)
? false
: (obj[typeof item + item] = true);
});
}
8. indexOf() + filter()
function goRepeat(arr) {
return arr.filter(function (item, index, arr) {
return arr.indexOf(item) === index;
});
}
9. reduce() + includes()
function goRepeat(arr) {
return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}