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.

24 lines
562 B

9 months ago
9 months ago
9 months ago
  1. export function debounce(func, delay) {
  2. let timer = null;
  3. return function() {
  4. clearTimeout(timer);
  5. timer = setTimeout(() => {
  6. func.apply(this, arguments);
  7. }, delay);
  8. };
  9. }
  10. //深度对比合并两个对象,相同属性b会覆盖a
  11. export function deepMergeObject(a, b){
  12. let data = JSON.parse(JSON.stringify(a))
  13. function mergeObject(obj1, obj2){
  14. for(let key in obj2){
  15. if(typeof obj1[key] == 'object'){
  16. obj1[key] = mergeObject(obj1[key], obj2[key])
  17. }else{
  18. obj1[key] = obj2[key]
  19. }
  20. }
  21. return obj1
  22. }
  23. return mergeObject(data, b)
  24. }