2017-06-29 7 views
-1

私と同じ場合に便利なコードを共有するだけです。あなたのオブジェクトにも機能が含まれている場合は、それもクリアされます(私の場合、私は実際にそのケースを管理していないので、何の機能もありません)!JavaScript:ディープコピーとクリアオブジェクト

私のケースでは、JSONオブジェクトをコピーして、多くの国際化文書(MongoDB)をデータベースに作成する必要があります(各言語の〜15)。翻訳者は新しい空のJSONを埋めることができ、翻訳が100%完了したかどうかを確認するために進捗状況を計算することができます。

ES6-7では、より良い解決策(実際には生産コードとアプリケーションの重要な部分)があるかどうか、また深刻なコピーとクリアの別のアプローチが同時にあるかどうかを知るためにここにコードを掲載しています。ここで

+0

あなたはより多くのあなたが何をしようとして述べている質問のようであるためにあなたの質問の一部をフォーマットしていただけますか? – Li357

+0

@AndrewLi私はそれが今より良いと思う、それがあなたのために大丈夫であれば教えて!ご意見ありがとうございます。 –

+0

@AndrewLi申し訳ありませんが、誰かがコメントなしでdownvoteしたいと思います。 –

答えて

0

は私のソリューションです:

const obj = { 
 
    champ1: 'test', 
 
    champ2: 'test', 
 
    champ3: { 
 
     ch: 'test', 
 
     test: 'test' 
 
    } 
 
} 
 

 
function copyAndClearObject (obj) { 
 
    if (!obj) return 
 
    
 
    let json = {} 
 

 
    for (const [key, value] of Object.entries(obj)) { 
 
    if (value instanceof Object) { 
 
     json[key] = copyAndClearObject(value) 
 
    } else { 
 
     json[key] = null 
 
    } 
 
    } 
 

 
    return json 
 
} 
 

 
console.log(copyAndClearObject(obj))

関連する問題