Skip to content

深浅拷贝实现 #108

@louzhedong

Description

@louzhedong
/**
 * 浅拷贝
 *
 * @param {*} obj
 */
var shallowCopy = function (obj) {
  if (typeof obj != 'object') return;
  var newObj = obj instanceof Array ? [] : {};
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      newObj[key] = obj[key]
    }
  }
  return newObj;
}


/**
 * 深拷贝
 *
 * @param {*} obj
 */
var deepCopy = function (obj) {
  if (typeof obj != 'object') return;
  var newObj = obj instanceof Array ? [] : {};
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      newObj[key] = typeof obj[key] == 'object' ? deepCopy(obj[key]) : obj[key];
    }
  }
  return newObj;
} 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions