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中文網其他相關文章!