15
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScriptAdvent Calendar 2019

Day 15

JavaScriptで配列の要素の重複をチェックする

Last updated at Posted at 2019-12-15

業務で学んだ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

 
以上です!この記事が役に立つと嬉しいです!

参考

15
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?