You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import deepClone from "./deepClone";
// JS对象深度合并
function deepMerge(target = {}, source = {}) { target = deepClone(target); if (typeof target !== 'object' || typeof source !== 'object') return false; for (var prop in source) { if (!source.hasOwnProperty(prop)) continue; if (prop in target) { if (typeof target[prop] !== 'object') { target[prop] = source[prop]; } else { if (typeof source[prop] !== 'object') { target[prop] = source[prop]; } else { if (target[prop].concat && source[prop].concat) { target[prop] = target[prop].concat(source[prop]); } else { target[prop] = deepMerge(target[prop], source[prop]); } } } } else { target[prop] = source[prop]; } } return target; }
export default deepMerge;
|