基本類型 引用類型的問題

用concat()拷貝了個數組  ,原數組包含了引用類型,數組

 

tempAee === this.dynacArr[0][this.dynacArr[1]][0]   //false  雖然拷貝了個數組 ,this

 

tempAee[0] === this.dynacArr[0][this.dynacArr[1]][0][0]  //仍是true    仍是淺拷貝 。遞歸

 

丟臉了。 一直覺得只要外層改變 ,內部指向也會跟着改變 。io

 

深拷貝:function

function deepCopy(obj) {
  var result = Array.isArray(obj) ? [] : {};
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      if (typeof obj[key] === 'object') {
        result[key] = this.deepCopy(obj[key]);   //遞歸複製
      } else {
        result[key] = obj[key];
      }
    }
  }
  return result;
}
相關文章
相關標籤/搜索