您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“JavaScript中如何使用 .map()、.reduce() 和 .filter()方法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript中如何使用 .map()、.reduce() 和 .filter()方法”這篇文章吧。
舉例介紹三個最常用的方法:map、reduce 和 filter。
在新冠疫情 之前,我們去巴黎度假。于是他們去超市買了些東西。他們買了食物和日用品。但是所有的物品都是歐元,他們想知道每件物品的價格以及他們食物的人民幣總成本。
鑒于 1 歐元等于 7.18 日元。
以傳統方式,我們將使用經典循環來完成:
const items = [ { name: 'pineapple', price: 2, type: 'food' }, { name: 'beef', price: 20, type: 'food' }, { name: 'advocate', price: 1, type: 'food' }, { name: 'shampoo', price: 5, type: 'other' } ] let sum = 0 const itemsInYuan = [] for (let i = 0; i < items.length; i++) { const item = items[i] item.price *= 7.18 itemsInYuan.push(item) if (item.type === 'food') { sum += item.price } } console.log(itemsInYuan) /* [ { name: 'pineapple', price: 14.36, type: 'food' }, { name: 'beef', price: 143.6, type: 'food' }, { name: 'advocate', price: 7.18, type: 'food' }, { name: 'shampoo', price: 35.9, type: 'other' } ] */ console.log(sum) // 165.14 現在我們來使用現在 JavaScript 提供的函數式編程方法來實現這個計算。 const itemsInYuan = items.map(item => { const itemInYuan = { ...item } itemInYuan.price *= 7.18 return itemInYuan }) const sum = itemsInYuan.filter(item => item.type === 'food').reduce((total, item) => total + item.price, 0)
上述示例使用 map 方法將歐元轉為日元,使用 filter 過濾掉非食品的項目,使用 reduce 來計算價格總和。
以上是“JavaScript中如何使用 .map()、.reduce() 和 .filter()方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。