javascript - 如何获取 javascript 对象属性的子集

标签 javascript object

假设我有一个对象:

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 }

<小时/>

来自菲利普·科威施:

This is really just an anonymous function being called instantly. All of this can be found on the Destructuring Assignment page on MDN. Here is an expanded form

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)

关于javascript - 如何获取 javascript 对象属性的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60088615/

相关文章:

javascript - 如何在 jquery 中空闲 10 秒后执行函数?

javascript - 在 amazon.com 上插入 bootstrap popover

JavaScript 空数组indexOf

javascript - 在 Javascript/Lodash 中过滤对象数组中的多个字段

php - 提交给 OO-PHP Crud 的表单

javascript - 没有显示正确的数字

javascript - 如何更改 JavaScript 中日期的格式?

javascript - 如何重命名 React 组件_并且_也重构了 'imports'?

javascript - 使用 javascript 从 <select> 中的对象添加多个 <option>

javascript - 在 Javascript 中遍历字典