{category}

JavaScript - MapとSet

Set

セット(組み込みオブジェクト

意味 重複なしの値の集合


Setとは?

Setオブジェクトは値のコレクションで、値の重複を許さず、各値は一度だけ出現します。

Setの具体的な使い方

Setの基本操作

// 新しいSetを作成
const uniqueNumbers = new Set([1, 2, 3, 4, 4, 5]);

console.log('Set size:', uniqueNumbers.size);
console.log('Set values:', Array.from(uniqueNumbers));

// 値を追加
uniqueNumbers.add(6);
console.log('After adding 6:', Array.from(uniqueNumbers));

// 値の存在確認
console.log('Has 3:', uniqueNumbers.has(3));
console.log('Has 7:', uniqueNumbers.has(7));

// 値を削除
uniqueNumbers.delete(4);
console.log('After deleting 4:', Array.from(uniqueNumbers));

// Setの反復処理
uniqueNumbers.forEach(value => {
  console.log('Value:', value);
});

// Setをクリア
uniqueNumbers.clear();
console.log('After clear, size:', uniqueNumbers.size);

👇出力結果

Set size: 5
Set values: [1, 2, 3, 4, 5]
After adding 6: [1, 2, 3, 4, 5, 6]
Has 3: true
Has 7: false
After deleting 4: [1, 2, 3, 5, 6]
Value: 1
Value: 2
Value: 3
Value: 5
Value: 6
After clear, size: 0

この例では、Setの基本的な操作(作成、サイズ取得、値の追加、存在確認、削除、反復処理、クリア)を示しています。

配列から重複を除去

const numbers = [1, 2, 2, 3, 4, 4, 5, 5];
const uniqueNumbers = [...new Set(numbers)];

console.log('元の配列:', numbers);
console.log('重複を除去した配列:', uniqueNumbers);

// 文字列の重複文字を除去
const string = 'abbccddeeeffg';
const uniqueChars = [...new Set(string)].join('');

console.log('元の文字列:', string);
console.log('重複を除去した文字列:', uniqueChars);

👇出力結果

元の配列: [1, 2, 2, 3, 4, 4, 5, 5]
重複を除去した配列: [1, 2, 3, 4, 5]
元の文字列: abbccddeeeffg
重複を除去した文字列: abcdefg

この例では、Setを使用して配列から重複を除去する方法と、文字列から重複する文字を除去する方法を示しています。

Setに関するよくある質問

Q. Setの主な用途は?
A. Setは重複のない値のコレクションを管理するのに適しています。配列から重複を除去したり、ユニークな値のみを扱う場合に便利です。
Q. SetとArrayの違いは?
A. Setは重複を許さず、値の有無を効率的に確認できますが、インデックスによるアクセスはできません。Arrayは重複を許し、インデックスでアクセスできますが、値の検索は非効率的です。
Q. Setに配列を変換する方法は?
A. Array.from(set) または [...set] スプレッド構文を使用して、Setを配列に変換できます。

Setが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのSetやObject.isSealed()、string.toLowerCase()、string.search()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


JavaScriptを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

Object.isSealed()

封印確認

種類: Object

string.toLowerCase()

文字列を小文字化

種類: String

string.search()

正規表現の位置検索

種類: String

高階関数

関数を操作する関数

種類: コールバックと高階関数

RangeError

範囲エラー

種類: エラーオブジェクト