js中特殊字符去重写法

简介: js中特殊字符去重写法
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))
相关文章
|
19天前
|
JavaScript 前端开发
js中数组对象去重的方法
js中数组对象去重的方法
|
19天前
|
存储 JavaScript 前端开发
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
|
19天前
|
JavaScript 小程序
js数组去重的10种有效方法 vue 数组去重
js数组去重的10种有效方法 vue 数组去重
|
4天前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
14天前
|
前端开发 JavaScript 数据安全/隐私保护
前端 JS 经典:零宽字符
前端 JS 经典:零宽字符
16 0
|
19天前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
13 1
|
19天前
|
JavaScript
js数组去重
js数组去重
14 1
|
19天前
|
JavaScript
js多维数组去重
js多维数组去重
|
19天前
|
JavaScript
JS中一个去重的方法
JS中一个去重的方法
13 1
|
19天前
|
人工智能 JavaScript 前端开发
让OpenAi给我写个JS的set对象的笔记和快速去重方法
让OpenAi给我写个JS的set对象的笔记和快速去重方法
23 0