次のようなオブジェクトがあるとします。
elmo = {
color: 'red',
annoying: true,
height: 'unknown',
meta: { one: '1', two: '2'}
};
プロパティのサブセットを持つ新しいオブジェクトを作成したいと思います。
// pseudo code
subset = elmo.slice('color', 'height')
//=> { color: 'red', height: 'unknown' }
どうすればこれを達成できるでしょうか?
ベストアンサー1
オブジェクトの分割とプロパティの省略形の使用
const object = { a: 5, b: 6, c: 7 };
const picked = (({ a, c }) => ({ a, c }))(object);
console.log(picked); // { a: 5, c: 7 }
Philipp Kewischより:
これは実際には即座に呼び出される匿名関数です。これらはすべて構造化割り当てMDNのページ。こちらが拡張フォームです
let unwrap = ({a, c}) => ({a, c});
let unwrap2 = function({a, c}) { return { a, c }; };
let picked = unwrap({ a: 5, b: 6, c: 7 });
let picked2 = unwrap2({a: 5, b: 6, c: 7})
console.log(picked)
console.log(picked2)