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

JavaScriptで配列の先頭(0番目)の要素を削除して残りの要素を取得する方法

JavaScriptのライブラリunderscore.jsに含まれる_.rest()メソッドは、配列の先頭(0番目)の要素を取り除き、それ以外の残りの要素を返します。このメソッドは2つの引数を受け取ります。1つ目は対象となる配列、2つ目はインデックスです。2つ目の引数を指定すると、その位置以降の要素から抽出が開始されます。

構文

_.rest( array, index );

例:先頭の1要素だけを削除する場合

次の例では、_.rest()メソッドを使って配列の0番目の要素を削除しています。このとき、2つ目の引数は指定していません。

<html>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
    document.write(_.rest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
</script>
</body>
</html>

出力

2, 3, 4, 5, 6, 7, 8, 9, 10

例:複数の要素を削除する場合

続く例では、2つ目の引数(インデックス)も指定しています。2つ目の引数が渡されると、その数に応じて先頭側の要素が取り除かれ、残りの要素が出力として表示されます。

<html>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
    document.write(_.rest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 4));
</script>
</body>
</html>

出力

5, 6, 7, 8, 9, 10

補足

_.rest()_.tail()の別名でもあります。なお、underscore.jsを使用せずに標準のJavaScriptだけで同じ処理を行いたい場合は、Array.prototype.slice()メソッド(例:array.slice(1))や、配列の分割代入(const [first, ...rest] = array;)を利用することでも、先頭要素を除外した残りの要素を簡単に取得できます。

  1. JavaScriptで配列の要素を同じ配列内に複製する方法

    JavaScriptでは、concat()メソッドとsort()メソッドを組み合わせることで、既存の配列の要素を同じ配列内に複製することができます。ここでは、実際に動作するサンプルコードを使って、その手順をわかりやすく解説します。 コード例 以下は、配列の要素を同じ配列内に複製するためのコード例です。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" cont

  2. JavaScriptで配列内の最長連続繰り返し数列を見つけてその長さを返す方法

    本記事では、重複する要素を含む可能性のある数値の配列を受け取り、その中で最も長く連続して繰り返されている数値シーケンスの長さを返すJavaScript関数を作成します。例として、次のような入力配列が与えられたとします。const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];この場合、期待される出力は 3 です。これは、数値「2」が配列の末尾近くで3回連続して現れており、これが配列全体の中で最も長い連続繰り返しとなっているためです。実装アプローチここでは、reduce() メソッドを2段階に分けて活用します。ステップ1:連続する同じ数値をグループ化最初の reduc