28.数组的去重与拷贝

2020-05-05  本文已影响0人  最爱喝龙井

1. 数组去重

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]]
上一篇 下一篇

猜你喜欢

热点阅读