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))
相关文章
|
8月前
|
JavaScript 前端开发
js中数组对象去重的方法
js中数组对象去重的方法
|
8月前
|
存储 JavaScript 前端开发
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
120 0
|
3月前
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
122 59
|
4月前
|
JavaScript
js数组去重
js数组去重
112 55
|
3月前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
109 0
|
3月前
|
JavaScript 索引
js数组去重的常见方法
js数组去重的常见方法
53 0
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
|
4月前
|
存储 文字识别 前端开发
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
|
4月前
|
JavaScript 前端开发 安全
JavaScript编程实现字符和字符串翻转
JavaScript编程实现字符和字符串翻转
|
6月前
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
99 0