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

別の配列JavaScriptに基づいて配列から月の範囲を取得する


文字列の配列が2つあるとします。最初の配列には、このように1年の各月に1つずつ、正確に12の文字列が含まれています-

const year = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];

2番目の配列には、このような月の範囲を示す2つの文字列が含まれています-

const monthsRange = ["aug", "oct"];

このような2つの配列を受け取るJavaScript関数を作成する必要があります。次に、関数は、2番目の範囲配列で指定された範囲にある最初の配列からすべての月を選択する必要があります。

上記の配列と同様に、出力は-

になります。
const output = ['aug', 'sep'];

機能の一部である、出力の範囲の終了要素('oct')を省略したことに注意してください。

const year = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']; const range = ['aug', 'dec'];
const getMonthsInRange = (year, range) => {
   const start = year.indexOf(range[0]);
   const end = year.indexOf(range[1] || range[0]);
   // also works if the range is reversed if (start <= end) {
         return year.slice(start, end);
   }
   else {
      return year.slice(start).concat(year.slice(0, end));
   };
   return false;
};
console.log(getMonthsInRange(year, range));

出力

そして、コンソールの出力は-

になります
[ 'aug', 'sep', 'oct', 'nov' ]

  1. JavaScript配列from()メソッド

    JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body

  2. JavaScript Array.from()メソッド

    Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume