2017-03-17 21 views
-2

私はparamsを渡すことによってオブジェクトを破棄しようとしていますが、私はそれを私が望むように達成できません。 Paramはstring'sです。動的パラメータを持つオブジェクトを破棄します

function(param){ 
 
    const obj = { 
 
    foo: 'foo', 
 
    bar: 'bar' 
 
    } 
 
    
 
    const {[param], ...destructedObj} = obj; // where param === 'foo' || 'bar' 
 
    return obj; 
 
}

+2

私はあなたが達成しようとしていることを理解していません。この機能がどのように機能するかの例を挙げることができますか? –

+2

@ p.s.w.g OPは、{{foo} = obj'などのように構造化を解除し、変数名を選択するには{[param]} = objを使用してプロパティ名を選択しようとしていると思います。私はこれを行うことができないと確信しています。ローカル変数を動的に作成することができます(各クロージャの変数範囲内の変数が変更されないと仮定した最適化に重大な影響を与えます)。 – apsillers

+0

@apsillers yep thats私は何を言っているのですか?実際にはかなり論理的なようです。それを行う別の方法を見つけようとしますx) – nehel

答えて

0

あなたキーを取得してから、選択の手で物を破壊するために使用するキーを決定するObject.keysを使用することができます。

const obj = { 
 
    foo: 1, 
 
    bar: 2 
 
}; 
 

 
const keys = Object.keys(obj); 
 

 
const { [keys[0]]: x } = obj; 
 

 
console.log(`${keys[0]}:${x}`);

しかし、私はあなたがどこにいるのかわからないこれと一緒に行くの?

関連する問題