美文网首页
js 数组去重&深克隆

js 数组去重&深克隆

作者: Peter_2B | 来源:发表于2020-10-22 14:55 被阅读0次
    //去重方式1
    let tempArr = Array.from(new Set(cc));   //Array.from()将类数组转成真正的数组

    // 去重方式2
    unique(arr){
        var result = []
        for(var i of arr){
            if(!result.includes(i.id)){
                result.push(i.id);  
            }
        }
        return result;
    },
    //深度克隆 方式1:
    var newObj = JSON.parse(JSON.stringify(originObj)  );
    方式1弊端: 对象的键值是 函数\new Data()\new Object()等等无法使用
    我一般都是处理后端给的JSON数据,在知道对象内没有函数使用方式1是最快捷的

    // 深度克隆 方式2
    deepClone(obj){
       var newObj;
       if(typeof obj ==='object'){

            if(obj === null){
                    newObj = null;
            }else{

                    if(obj instanceof Array){
                        newObj = [];
                        for(var i = 0; i < obj.length; i++){
                            newObj.push( this.deepClone(obj[i]) );
                        }
                    }else{
                        newObj = {};
                        for(var j in obj){
                            newObj[j] = this.deepClone(obj[j])
                        }
                    }
            }
       }else{
           newObj = obj;
       }
       return newObj;
    },

相关文章

  • js 数组去重&深克隆

  • JS杂项

    1.JS对象的深克隆 早年在实习的时候,一位前辈做的,我觉得很神奇。 2.数组去重

  • js代码题

    js对象的深度克隆 js数组去重 js常用设计模式的实现思路,单例,工厂,代理,装饰,观察者模式等

  • JS算法题总结

    1. 对象深克隆 2. 数组去重 方法一: 方法二: 3. 数组扁平化 方法一: 方法二: 4. 冒泡排序

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

  • 手撕常见面试题

    DOM 事件代理 数组 对象 扁平化 去重 - unique() 拷贝 浅拷贝 深拷贝 copy()函数实现 JS...

  • 面向对象4

    一、判断数组和对象 二、浅克隆 三、深克隆 四、引用值 五、类数组

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • js数组去重

    Set结构去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 向 Se...

  • JS数组去重

    方法1:两层for循环,外层循环原数组,内层循环时进行比较。 方法2:利用对象的属性不能相同的特点去重 方法3:利...

网友评论

      本文标题:js 数组去重&深克隆

      本文链接:https://www.haomeiwen.com/subject/toczpktx.html