首页 > 编程语言 > 详细

js数组完美去重,区分undefined,NaN,null,字符串等

时间:2020-05-15 11:47:09      阅读:52      评论:0      收藏:0      [点我收藏+]
function array_unique(arr) {
            let len = arr.length;
            if (!len) {
                return [];
            }
            let tmp = [];
            for (let i = 0; i < len; i++) {
                if (
                    tmp.findIndex((v) => { return JSON.stringify(v) === JSON.stringify(arr[i]) }) === -1
                ) {
                    tmp.push(arr[i])
                }
            }
            return tmp;
        }
        let arr = [1, 2, 3, 4, ‘1‘, 2, undefined, undefined, ‘undefined‘, NaN, NaN, {}, {}, { a: 1 }, { a: 1 }]
        let newArr = array_unique(arr);
        console.log(newArr)
        // function array_unique(arr) {
        //     let len = arr.length
        //     if (!len) {
        //         return []
        //     }
        //     let tmp = []
        //     for (let i = 0; i < len; i++) {
        //         // 判断数组arr的元素是否在数组tmp中
        //         if (tmp.findIndex((v) => JSON.stringify(v) === JSON.stringify(arr[i])) === -1) {
        //             tmp.push(arr[i])
        //         }
        //     }
        //     return tmp
        // }
        // let arr = [1, 2, 3, ‘1‘, 2, undefined, undefined, ‘undefined‘, NaN, NaN, {}, {}, { a: 1 }, { a: 1 }]
        // let newArr = array_unique(arr)
        // console.log(newArr) // [1, 2, 3, ‘1‘, undefined, ‘undefined‘, NaN, {}, {a: 1}]

 

js数组完美去重,区分undefined,NaN,null,字符串等

原文:https://www.cnblogs.com/jwzhang/p/12893903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!