ES6 中按键过滤对象属性
在 JavaScript 中,通常需要根据特定条件过滤对象属性。 ES6 提供了一种干净、高效的方法来通过展开运算符来实现此目的。
问题:
给定一个如下对象:
{ item1: { key: 'sdfd', value: 'sdfd' }, item2: { key: 'sdfd', value: 'sdfd' }, item3: { key: 'sdfd', value: 'sdfd' } }
目标是创建一个新对象,该对象仅包含具有特定键的属性,例如如:
{ item1: { key: 'sdfd', value: 'sdfd' }, item3: { key: 'sdfd', value: 'sdfd' } }
解决方案:
ES6 允许我们使用 Object.keys() 和 Array.filter() 方法的组合来过滤对象属性,接下来是 Array.reduce() 方法来创建新对象。
提供的代码演示了这一点方法:
const raw = { item1: { key: 'sdfd', value: 'sdfd' }, item2: { key: 'sdfd', value: 'sdfd' }, item3: { key: 'sdfd', value: 'sdfd' } }; const allowed = ['item1', 'item3']; const filtered = Object.keys(raw) .filter(key => allowed.includes(key)) .reduce((obj, key) => { obj[key] = raw[key]; return obj; }, {}); console.log(filtered);
在此代码中:
以上是ES6中如何通过Key过滤对象属性?的详细内容。更多信息请关注PHP中文网其他相关文章!