MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / mergeItem

Method mergeItem

src/common/overlay/levelRenderer/Util.js:113–130  ·  view source on GitHub ↗

* @function LevelRenderer.Tool.Util.prototype.mergeItem * @description 合并源对象的单个属性到目标对象。 * * @param {Object} target - 目标对象。 * @param {Object} source - 源对象。 * @param {string} key - 键。 * @param {boolean} overwrite - 是否覆盖。 * @return {Object} 目标对象

(target, source, key, overwrite)

Source from the content-addressed store, hash-verified

111 * @return {Object} 目标对象
112 */
113 mergeItem(target, source, key, overwrite) {
114 var BUILTIN_OBJECT = this.BUILTIN_OBJECT;
115 if (source.hasOwnProperty(key)) {
116 if (typeof target[key] == 'object'
117 && !BUILTIN_OBJECT[Object.prototype.toString.call(target[key])]
118 ) {
119 // 如果需要递归覆盖,就递归调用merge
120 this.merge(
121 target[key],
122 source[key],
123 overwrite
124 );
125 } else if (overwrite || !(key in target)) {
126 // 否则只处理overwrite为true,或者在目标对象中没有此属性的情况
127 target[key] = source[key];
128 }
129 }
130 }
131
132
133 /**

Callers 2

mergeMethod · 0.95
UtilSpec.jsFile · 0.80

Calls 1

mergeMethod · 0.95

Tested by

no test coverage detected