美文网首页
28.数组的去重与拷贝

28.数组的去重与拷贝

作者: 最爱喝龙井 | 来源:发表于2020-05-05 15:08 被阅读0次

1. 数组去重

  • 思路:通过indexOf()方法判断数组中是否有这一项,如果没有就放到新创建的数组中
var arr = [1,1,2,2,3,3];
        Array.prototype.norepeat = function() {
            var result = [];
            for(var i = 0; i < this.length; i++) {
                if(result.indexOf(this[i]) == -1) {
                    result.push(this[i])
                }
            }
            return result;
        }
        arr.norepeat() //[1,2,3]

2. 数组的拷贝

  • 浅拷贝很简单就不记录了,只记录一下深拷贝,思路,判断数组每一项的数据类型。
var arr1 = [1,2,[3,4]]
        function deepCopy(arr, result) {
            var result = result || [];
            for(var i = 0; i < arr.length; i++) {
                if(arr[i] instanceof Array) {
                    result[i] = [];
                    deepCopy(arr[i], result[i])
                }else {
                    result.push(arr[i])
                }
                
            }
            return result;
        }
        var arr2 = deepCopy(arr1)
        arr2[2].push(5) // [1,2,[3,4,5]]
        arr1 // [1,2,[3,4]]

相关文章

  • 28.数组的去重与拷贝

    1. 数组去重 思路:通过indexOf()方法判断数组中是否有这一项,如果没有就放到新创建的数组中 2. 数组的...

  • 数组去重与深浅拷贝

    数组去重 1, 数组去重 ES6的set 方法 对象属性存在的特性,如果没有该属性则存入新数组 indexof 方...

  • 相关代码总结

    1.数组去重 2.深拷贝数组或者对象

  • 面试题【Day17】

    本篇绪论 1, 数组去重 2,深、浅拷贝 1,数组去重 方法一: 方法二: 2, 深、浅拷贝 基本数据类型不管是浅...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • 手撕前端面试代码题

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

  • 2020-01-19做些js的数组练习吧

    1.前端面试必问之数组去重 前端面试必问之数组去重 2.前端面试必问之深拷贝浅拷贝 3.

  • 深拷贝&数组去重

    深拷贝的实现方案 method-1-递归 method-2-JSON 数组去重 method-1--->实现思路:...

  • 手撕常见面试题

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

  • JS文集的目录

    js基础心法 深浅拷贝(递归)深浅拷贝(首层浅拷贝) js 数据处理 数组对象查找的常见操作数组对象去重的常见操作...

网友评论

      本文标题:28.数组的去重与拷贝

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