export function debounce(func, delay) {
|
|
let timer = null;
|
|
return function() {
|
|
clearTimeout(timer);
|
|
timer = setTimeout(() => {
|
|
func.apply(this, arguments);
|
|
}, delay);
|
|
};
|
|
}
|
|
|
|
//深度对比合并两个对象,相同属性b会覆盖a
|
|
export function deepMergeObject(a, b){
|
|
let data = JSON.parse(JSON.stringify(a))
|
|
function mergeObject(obj1, obj2){
|
|
for(let key in obj2){
|
|
if(typeof obj1[key] == 'object'){
|
|
obj1[key] = mergeObject(obj1[key], obj2[key])
|
|
}else{
|
|
obj1[key] = obj2[key]
|
|
}
|
|
}
|
|
return obj1
|
|
}
|
|
return mergeObject(data, b)
|
|
}
|