JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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 に格納されています。

  1. JavaScriptのArray.values()メソッドの使い方をわかりやすく解説

    Array.values()メソッドとはJavaScriptのArray.prototype.values()メソッドは、配列の各インデックスに格納された値を順番に取り出せる、新しいArray Iterator(配列イテレータ)オブジェクトを返します。引数は不要で、呼び出すだけでイテレータを取得できます。返されたイテレータに対してnext()メソッドを呼び出すと、{value: 値, done: 真偽値}という形式のオブジェクトが1つずつ返され、配列の要素を先頭から順に処理することができます。構文arr.values()パラメータと戻り値パラメータ:なし戻り値:配列の各インデックスの値を含む、

  2. JavaScriptのArray.values()メソッドとは?使い方とサンプルコードを徹底解説

    JavaScriptのArray.values()メソッドとは? JavaScriptのArray.values()メソッドは、対象の配列に含まれるすべての値を格納したイテレーターオブジェクトを返します。ES2015(ES6)以降で利用可能なこのメソッドは、for...ofループやスプレッド構文([...arr])と組み合わせることで、配列の各要素を効率的に取り出せます。 なお、keys()やentries()がインデックス情報も一緒に返すのに対し、values()は純粋に「値」だけを順番に提供する点が大きな特徴です。 基本構文 arr.values() 引数は不要で、戻り値として新しいArr