Vue js は再帰的にディープ コピー オブジェクトのコピー配列をクローンします

説明する

プロジェクトで問題が発生しました。オブジェクトを作成するときに、その中に日付フィールドがあります。日付を書式設定するとき、参照によって渡されるため、元のオブジェクトが変更されます。オブジェクトをディープ コピーして、メモリアドレス Zhongxin に存在すると、まったく新しいオブジェクトである空間が開きます。

jsコードは次のとおりです。

// 递归深拷贝
export default function copyObj (obj = {
     
     }) {
    
    
  let newobj = null;

  //判断是否需要继续进行递归
  if (typeof (obj) == 'object' && obj !== null) {
    
    
    newobj = obj instanceof Array ? [] : {
    
    };                //进行下一层递归克隆
    for (var i in obj) {
    
    
      newobj[i] = copyObj(obj[i])
    }                //如果不是对象直接赋值
  } else newobj = obj;
  return newobj;
}

おすすめ

転載: blog.csdn.net/qq_43813351/article/details/129487215