数组深拷贝

 用法: var arr1 = deepClone(arr0)

export function deepClone (obj) {
  if (Array.isArray(obj)) {
    return obj.map(deepClone)
  } else if (obj && typeof obj === 'object') {
    var cloned = {}
    var keys = Object.keys(obj)
    for (var i = 0, l = keys.length; i < l; i++) {
      var key = keys[i]
      cloned[key] = deepClone(obj[key])
    }
    return cloned
  } else {
    return obj
  }
}

和 var arr1 = arr0 的区别就在于操作当前数据的时候,不会影响上一个数组

你可能感兴趣的:(前端)