ES 6--Set,reduce特性計算)におけるラベルの種類数と各ラベルの数
1062 ワード
let tags = document.querySelectorAll('*')
let tagNames = Array.from(tags).map(tag => tag.tagName)
// tag
console.log(new Set(tagNames).size)
// tag
let res = tagNames.reduce((holder, cur) => {
holder[cur] = holder[cur] ? ++ holder[cur] : 1
return holder
}, {})
console.log(res, Object.keys(res).length)
codePenアドレスSetは、keyのセットであり、keyは重複しないため、
Set
において、重複したkeyはない.Setを作成する配列を入力します.この配列をリセットしたSetオブジェクトを返します.
reduce文法
arr.reduce(callback,[initialValue])
reduceは、配列中の各要素に対して順にコールバック関数を実行し、配列中の削除または未割り当ての要素を含まず、4つのパラメータを受け入れます.初期値(または前回のコールバック関数の戻り値)、現在の要素値、現在のインデックス、reduceの配列を呼び出します.callback ( , )
1、previousValue ( , (initialValue))
2、currentValue ( )
3、index ( )
4、array ( reduce )
initialValue ( callback 。)
作者:_豆タンクリンク:https://www.jianshu.com/p/e375ba1cfc47 出所:簡書簡書の著作権は著者の所有になります.いかなる形式の転載も作者に連絡して授権を得て、出所を明記してください.