假设我有一个对象:
elmo = { color: 'red', annoying: true, height: 'unknown', meta: { one: '1', two: '2'} };
我想用其属性的子集制作一个新对象。
// pseudo code subset = elmo.slice('color', 'height') //=> { color: 'red', height: 'unknown' }
我怎样才能做到这一点?
使用对象解构和属性简写
const object = { a: 5, b: 6, c: 7 }; const picked = (({ a, c }) => ({ a, c }))(object); console.log(picked); // { a: 5, c: 7 }
来自菲利普·凯维施:
这实际上只是一个被立即调用的匿名函数。所有这些都可以在 MDN 的Destructuring Assignment页面上找到。这是一个扩展的表格
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)