import assignValue from './assignValue.js';
import baseAssignValue from './baseAssignValue.js';
/**
* Copies properties of `source` to `object`.
* 将“源”的属性复制到“对象”。
* @private
* @param {Object} source 要从中复制属性的对象。
* @param {Array} props 要复制的属性标识符。
* @param {Object} [object={}] 要将属性复制到的对象。
* @param {Function} [customizer] 自定义复制值的函数。
* @returns {Object} 返回的对象。
*/
function copyObject(source, props, object, customizer) {
const isNew = !object;
object || (object = {});
for (const key of props) {
let newValue = customizer
? customizer(object[key], source[key], key, object, source)
: undefined;
if (newValue === undefined) {
newValue = source[key];
}
if (isNew) {
baseAssignValue(object, key, newValue);
} else {
assignValue(object, key, newValue);
}
}
return object;
}
export default copyObject;
-
由 钟是志 提交于
并把辅导员 全部改成班主任
4a68bae9