var arr = [NaN, NaN, undefined, undefined, null, '', '', NaN, undefined, undefined, null];
//判斷一個數組裏有沒有NaN
function chechNaNFromArr(arr) {
if(!arr || arr.length == 0) return false;
for(var i = 0; i < arr.length; i++) {
if(Number.isNaN(arr[i])) {
return true;
}
}
return false;
}
//判斷一個數組裏有沒有undefined
function chechUndefinedFromArr(arr) {
if(!arr || arr.length == 0) return;
for(var i = 0; i < arr.length; i++) {
if(typeof arr[i] === "undefined") {
return true;
}
}
return false;
}
//判斷一個數組裏有沒有null
function chechNullFromArr(arr) {
if(!arr || arr.length == 0) return;
for(var i = 0; i < arr.length; i++) {
if(typeof arr[i] === "object" && arr[i] == arr[i]) {
return true;
}
}
return false;
}
//去重
function quChong(arr) {
var newArr = [];
for(var i = 0; i < arr.length; i++) {
//NaN處理
if(Number.isNaN(arr[i])) {
if(!chechNaNFromArr(newArr)) {
newArr.push(arr[i]);
}
continue;
}
//undefined處理
if(typeof arr[i] === "undefined") {
if(!chechUndefinedFromArr(newArr)) {
newArr.push(arr[i])
}
continue;
}
//null處理
if(typeof arr[i] === "object" && arr[i] == arr[i]) {
if(!chechNullFromArr(newArr)) {
newArr.push(arr[i]);
}
continue;
}
//其他處理
if(newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(quChong(arr))
js中特殊字符去重寫法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.