JavaScript:配列のn番目ごとの要素を取得し、表示する値の個数を固定する方法
JavaScriptで配列からn番目ごとの要素を取得し、表示する値の個数を固定したい場合は、forループとif条件を組み合わせることで簡単に実現できます。
まず、次のような配列を用意してみましょう。
var numbers = [1, 2, 34, 56, 78, 90, 100, 110, 40, 70, 67, 77, 34, 68, 89, 91, 94];
表示する値の個数をカウンターで指定する
結果として表示する値の個数は、カウンター変数を使って制御します。
var counter = 6;
上記のように設定すると、最終的に6個の値が表示されることになります。
サンプルコード
以下が実際のコードです。
var numbers = [1, 2, 34, 56, 78, 90, 100, 110, 40, 70, 67, 77, 34, 68, 89, 91, 94];
var counter = 6;
var newNumbers = [];
var start = 0;
for (var index = 0; index < numbers.length; index++) {
if (index % 2 != 0) {
start++;
if (start <= counter) {
newNumbers.push(numbers[index]);
}
}
}
console.log(newNumbers);
コードのポイント
このコードの核となるのは index % 2 != 0 という条件式です。この条件により、インデックスが奇数(配列の2番目・4番目・6番目…)にあたる要素だけが抽出されます。取得間隔を変更したい場合は、「2」の部分を任意の数値に書き換えるだけで対応できます。
また、内側の start <= counter の条件が、抽出する要素の最大個数(ここでは6個)を制限しています。
プログラムの実行方法
上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。
node fileName.js
ここでは、ファイル名を「demo231.js」としています。
実行結果
出力は以下のようになります。
PS C:\Users\Amit\JavaScript-code> node demo231.js
[ 2, 56, 90, 110, 70, 77 ]
この結果からわかるように、元の配列の奇数インデックスに位置する要素(2番目の「2」、4番目の「56」、6番目の「90」…)が順に取り出され、指定した6個分だけ新しい配列 newNumbers に格納されています。
-
JavaScriptのArray.values()メソッドの使い方をわかりやすく解説
Array.values()メソッドとはJavaScriptのArray.prototype.values()メソッドは、配列の各インデックスに格納された値を順番に取り出せる、新しいArray Iterator(配列イテレータ)オブジェクトを返します。引数は不要で、呼び出すだけでイテレータを取得できます。返されたイテレータに対してnext()メソッドを呼び出すと、{value: 値, done: 真偽値}という形式のオブジェクトが1つずつ返され、配列の要素を先頭から順に処理することができます。構文arr.values()パラメータと戻り値パラメータ:なし戻り値:配列の各インデックスの値を含む、
-
JavaScriptのArray.values()メソッドとは?使い方とサンプルコードを徹底解説
JavaScriptのArray.values()メソッドとは? JavaScriptのArray.values()メソッドは、対象の配列に含まれるすべての値を格納したイテレーターオブジェクトを返します。ES2015(ES6)以降で利用可能なこのメソッドは、for...ofループやスプレッド構文([...arr])と組み合わせることで、配列の各要素を効率的に取り出せます。 なお、keys()やentries()がインデックス情報も一緒に返すのに対し、values()は純粋に「値」だけを順番に提供する点が大きな特徴です。 基本構文 arr.values() 引数は不要で、戻り値として新しいArr