2017-07-21 5 views
-1

オブジェクトがあり、このオブジェクトをコピーして、descriptionのすべてのインスタンスを削除します。これを行うエレガントな方法は何ですか? は、ここでオブジェクトがどのように見えるかです:オブジェクト内のキーのすべてのインスタンスを削除するエレガントな方法はありますか?

{ 
    properties: { 
    a: { 
     value: foo, 
     description: bar 
    }, 
    b: { 
     value: foo, 
     description: bar 
    } 
} 
+0

キーを削除するために使用したコードを表示できますか? – Remi

+0

プロパティ内のすべての単一オブジェクトをループして、その中から説明を削除しようとしました –

+0

'foo'と' bar'がプリミティブである場合、JSONを使用してリビバーとストリングを解析して解析できます。これにより、 'description'が削除されたコピーが得られます。複雑なオブジェクトの場合、このメソッドは機能しません。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse – Xotic750

答えて

4

JSON.parseに2つ目の引数を使用します。

const output = JSON.parse(
    JSON.stringify(input), 
    (key, value) => key === "description" ? undefined : value 
); 

をこの関数からundefinedの戻り値は、それをスキップするJSON.parseに指示します。

関連する問題