// 第一种 原数组被改变
// var arr = [1, 2, 3, 4, 2, 3, 1, 5];
// var ar2 = arr;
// for (var i = 0; i < ar2.length; i++) {
// for (var j = 0; j < ar2.length; j++) {
// if (i != j && ar2[i] == ar2[j]) {
// ar2.splice(i, 1)
// }
// }
// }
// console.log(arr, ar2)
// [2, 4, 3, 1, 5] [2, 4, 3, 1, 5]
// 第二种 能去除NaN
// var arr = [1, 2, 3, 4, 2, 3, 1, 5];
// Array.prototype.unarr = function () {
// var obj = {};
// var len = this.length;
// var _arr = [];
// for (var i = 0; i < len; i++) {
// if (!obj[this[i]]) {
// obj[this[i]] = true;
// _arr.push(this[i])
// }
// }
// return _arr
// }
// console.log(arr.unarr())
set应用数组去重 能去除NaN
var arr = [1, 2, 3, 4, 2, 3, 1, 5, null, undefined,null,NaN,NaN]
var unarr = new Set(arr)
unarr = Array.from(unarr) //[...unarr]
console.log(unarr) // [1, 2, 3, 4, 5, null, undefined,NaN]
indexOf //不能去除NaN
Array.prototype.unarr2 = function () {
let res = [] // 存放去重后的数组
for (let i = 0, arrayLen = this.length; i < arrayLen; i++) {
// 如果this[i]没有在res中,则push进去
if (res.indexOf(this[i]) === -1) {
res.push(this[i])
}
}
return res
}
var arr = [1, 2, 3, 4, 2, 3, 1, 5, null, undefined,null,NaN,NaN];
arr.unarr2()//