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

JavaScriptの_.initial()関数とは?配列の末尾要素を除外する方法を解説

_.initial()関数とは

_.initial()は、JavaScriptのライブラリであるUnderscore.jsに含まれる関数の一つです。このメソッドは、配列の最後の要素とそれ以外の要素を区別し、末尾の要素を除外した結果を取得したい場合に活用されます。つまり、配列の最後の値だけを無視して、残りのすべての要素を取り出すことができる便利な関数です。

基本構文

_.initial( array, n );

_.initial()は、最大2つのパラメータを受け取ることができます。

  • array(必須):対象となる配列です。このメソッドは、渡された配列から最後の要素を除いた、残りすべての要素を返します。
  • n(任意):配列の末尾から削除したい要素の数を指定します。省略可能で、指定しない場合は末尾の1要素のみが除外されます。

使用例1:基本的な使い方

まずは、引数に配列だけを渡した場合の動作を確認しましょう。以下の例では、5つの要素を持つ配列から最後の要素が除外され、残りの4つの要素が出力されます。

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

実行結果

1,2,3,4


ご覧のとおり、配列の最後の要素「5」が除外され、「1,2,3,4」が出力されています。このように、第2引数を指定しない場合は、末尾の1要素だけが取り除かれます。

使用例2:第2引数nを指定した場合

第2パラメータとして数値を指定すると、_.initial()はその数だけ配列の右側(末尾)から要素を削除し、残りの要素を出力します。

以下の例では、第2引数として「4」が渡されているため、配列の末尾から4つの要素が削除されます。元の配列には5つの要素しかないため、削除後に表示されるのは残りの1要素だけとなります。

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

実行結果

1

まとめ

_.initial()は、配列の末尾から不要な要素を簡単に取り除ける便利な関数です。第2引数を指定しなければ末尾の1要素のみを除外し、数値を指定すればその分だけ多くの要素を末尾から削除できます。Underscore.jsを使った配列操作の際に、ぜひ活用してみてください。

  1. JavaScript DOMとは?基本の仕組みと要素の取得方法をわかりやすく解説

    JavaScriptのDOM(Document Object Model:ドキュメントオブジェクトモデル)は、Webページ上のHTML要素を表現する仕組みです。DOMはインターフェースとして機能し、ページのコンテンツやスタイルを変更することで、Webページを自由に操作できるようにします。 DOMにアクセスするには、Webページ上で右クリックして「検証(Inspect)」を選択します。すると画面の右側または左側にパネルが表示され、現在閲覧しているページのHTML要素を確認できます。要素にマウスカーソルを合わせると、ページ上の該当部分がハイライトされるため、どの要素がページのどのセクションに対応

  2. JavaScriptのSymbol.isConcatSpreadableとは?配列の連結時の展開動作を制御する方法

    Symbol.isConcatSpreadableとはSymbol.isConcatSpreadableは、ES6(ECMAScript 2015)で導入されたウェルノウンシンボルの一つで、Array.prototype.concat()メソッドを使用する際に、対象のオブジェクトをその配列要素として展開(フラット化)するかどうかを制御するために使われます。このプロパティがfalseに設定されている場合、配列の展開は一切行われません。デフォルト値はtrueであるため、明示的に指定しない限り、配列は常に展開されて連結されるという点に注意が必要です。Symbolを使用しない場合(デフォルトの動作)サ