JavaScriptのSet.values()メソッドの使い方と実例解説
JavaScriptにおける Set オブジェクトの values() メソッドは、その Set が現在保持しているすべての値を格納したイテレーターオブジェクトを返します。返されたイテレーターに対して next() メソッドを呼び出すことで、要素を先頭から順番に1つずつ取り出すことができます。
なお、keys() メソッドは values() のエイリアス(別名)として定義されており、どちらも同じイテレーターを返します。これは Map オブジェクトとの API 一貫性を保つために設けられています。
構文(シンタックス)
values() メソッドの基本的な構文は次のとおりです。
setObj.values()
引数は不要で、呼び出すだけで Set 内の値を走査するためのイテレーターオブジェクトが取得できます。
使用例
以下のコードでは、4つの文字列を追加した Set オブジェクトを作成し、values() で取得したイテレーターから next() を使って値を順に出力しています。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
const setObj = new Set();
setObj.add('Apples');
setObj.add('Oranges');
setObj.add('Bananas');
setObj.add('Grapes');
var valuesObject = setObj.values();
for(i=0; i<setObj.size; i++) {
document.write(valuesObject.next().value);
document.write("<br>");
}
</script>
</body>
</html>このコードでは、setObj.size(Set の要素数)をループ回数の基準にして、next().value で各要素の値を取り出しています。
実行結果
上記のコードをブラウザで実行すると、Set に追加した順序で次のように表示されます。
Apples Oranges Bananas Grapes
補足:for...of によるより簡潔な書き方
実際の開発では、for...of 構文を使うことで、同じ処理をより簡潔に記述できます。
const setObj = new Set(['Apples', 'Oranges', 'Bananas', 'Grapes']);
for (const value of setObj) {
console.log(value);
}Set オブジェクト自体がデフォルトで値のイテレーターを持つため、values() を明示的に呼び出さなくても直接反復処理が可能です。
-
JavaScriptの関数呼び出しの基本!()を使ってコードを実行する方法
JavaScriptにおける関数の呼び出し(インボケーション)とはJavaScriptでは、一度定義した関数は、関数名の後ろに () を付けることで呼び出すことができます。これを「関数の呼び出し(インボケーション)」と呼びます。関数は定義しただけでは実行されません。呼び出しを行って初めて、関数定義の中括弧 { } 内に記述されたコードが実際に実行されます。以下は、JavaScriptで関数を呼び出す方法を実装したサンプルコードです。サンプルコード<!DOCTYPE html> <html lang="en"> <head> <met
-
JavaScriptのNumber()関数とは?使い方とサンプルコードを解説
JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを