業務で学んだJavaScriptで配列の要素の重複をチェックする方法について書きます。
コード
引数で渡した配列の要素に重複がある場合、true
を返します。重複がない場合は、false
を返します。
function isDuplicated(elements) {
// Setを使って、配列の要素を一意にする
const setElements = new Set(elements);
return setElements.size !== elements.length;
}
Setについて
Setオブジェクト
プリミティブ値・オブジェクト参照を問わず、あらゆる型で一意の値を格納できます。
const setElements = new Set([1, 2, 3, 3]);
console.log(setElements);
// => Set { 1, 2, 3 }
setElements.size;
// => 3
#####Setの要素数の求め方
Set に含まれる要素の数を知りたい場合は Set.prototype.size を使います。
const setElements = new Set([1, 2, 3, 3]);
setElements.size;
// => 3
setElements.length;
// -> undefined
// lengthは使うことができない
例
// 重複がある場合
const foods = ["りんご", "ケーキ", "ブロッコリー", "りんご"];
console.log(isDuplicated(foods));
// => true
// 重複がない場合
const countries = ["日本", "アメリカ", "中国", "インド"];
console.log(isDuplicated(countries));
// => false
以上です!この記事が役に立つと嬉しいです!