目錄
- 前言
- 一、需求
- 二、思路
- 三、代碼演示
- 1.基礎寫法
- 2.進階寫法
- 四、結果展示
- 總結
前言
如何計算一個元素在陣列中出現的次數呢?本文通過基礎寫法和進階寫法進行講解,還不會的小伙伴兒快來瞅瞅~
一、需求
求以下陣列中每個元素出現的次數,示例結果:{a: 1, b: 3, c: 3}
let arr = ["b", "c","b", "c","a", "b", "c"]
二、思路
通過JavaScript的內置物件Array提供的reduce方法,來計算陣列內元素的出現次數,
- reduce語法
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
- 步驟
給reduce方法設定一個累計器并賦初始值為{}
判斷陣列中的每一項是否存在于累計器物件中
不存在就使用當前項作為累計器物件的鍵,并賦值為1
存在就讓累計器中物件的鍵值對的值在原先基礎上+1
每回圈一次將累計器的值回傳供下一次回圈使用
三、代碼演示
1.基礎寫法
代碼如下(示例):
let arr = ["b", "c","b", "c","a", "b", "c"]
let result = arr.reduce((acc,cur) => {
if(cur in acc){
acc[cur]++
} else {
acc[cur] = 1
}
return acc
},{})
console.log(acc)
2.進階寫法
代碼如下(示例):
let arr = ["b", "c","b", "c","a", "b", "c"]
let result = arr.reduce((acc,cur) => (cur in acc ? acc[cur]++ : acc[cur] = 1, acc),{})
console.log(result)
四、結果展示
使用Vscode編輯器中自帶的終端,使用node命令運行js檔案查看結果,

總結
每天進步一點點兒,只為遇見更好的自己~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/293625.html
標籤:其他
上一篇:jQUery學習筆記
