配列の重さ除去にはいくつかの方法がありますか?
588 ワード
方法一:遍歴比較
set ES 6は、新しいデータ構造Setを提供する.配列に似ていますが、メンバーの値は全部唯一で、重複した値はありません.Set自体はSetデータ構造を生成するためのコンストラクターである.Set関数は、パラメータとして1つの配列を初期化することができます.
function unique(arr) {
const res=[]
arr.forEach(item => { //
if (res.indexOf(item) < 0) { //
res.push(item)
}
});
return res
}
unique([20, 30, 30, 50, 4, 4]) //[20, 30, 50, 4]
方法二:ES 6:Setset ES 6は、新しいデータ構造Setを提供する.配列に似ていますが、メンバーの値は全部唯一で、重複した値はありません.Set自体はSetデータ構造を生成するためのコンストラクターである.Set関数は、パラメータとして1つの配列を初期化することができます.
function unique(arr){
return [...new Set(arr)]
}
console.log(unique([20, 30, 30, 50, 4, 4]))
まとめ:両者は比較して、エルゴード法は2層を経て遍歴する必要があり、相対的にset法を使う方が性能が優れています.