將一個多重對象的所有值賦值給另一個對象


objectAssign = (target: object, source: object) => {
  for (let key in source) {
    // console.log(key);
    //遍歷參數的鍵
    if (typeof source[key] === 'object') {
      let isEmpty = Array.isArray(source[key])
        ? source[key].length === 0
        : Object.keys(source[key]).length === 0;
      if (isEmpty) {
        target[key] = source[key]; // 值為空直接復制值
      } else {
        objectAssign(target[key], source[key]); //值是對象就再次調用函數
      }
    } else {
      target[key] = source[key]; //基本類型直接復制值
    }
  }
};

 

參考鏈接:深入 js 深拷貝對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM