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

JavaScriptのTypedArray.set()メソッドとは?使い方をサンプルコードで解説

TypedArrayオブジェクトのset()メソッドは、配列(または別の型付き配列)とインデックスを表す数値を受け取り、指定された配列の内容を現在の型付き配列に、指定したインデックスの位置から順にコピーします。既存の要素がある場合は、その位置から上書きされる点に注意してください。

構文

set()メソッドの構文は以下の通りです。

typedArray.set(array, offset)
  • array: コピー元となる通常の配列、または別の型付き配列を指定します。
  • offset: コピーを開始するインデックス位置を指定します。省略した場合は0(先頭)からコピーされます。

使用例

以下の例では、Int32Arrayで作成した2つの型付き配列を用意し、set()メソッドを使って2つ目の配列の内容を1つ目の配列のインデックス3以降にコピーしています。

<html>
<head>
   <title>JavaScript TypedArray setメソッド</title>
</head>
<body>
   <script type="text/javascript">
      var typedArray1 = new Int32Array([11, 5, 13, 4, 15, 3, 17, 2, 19, 8]);
      document.write("型付き配列の内容: " + typedArray1);
      document.write("<br>");
      var typedArray2 = new Int32Array([110, 215, 316, 916, 616, 117, 311]);
      typedArray1.set(typedArray2, 3);
      document.write("結果: " + typedArray1);
   </script>
</body>
</html>

実行結果

型付き配列の内容: 11,5,13,4,15,3,17,2,19,8
結果: 11,5,13,110,215,316,916,616,117,311

処理の流れの解説

この例では、typedArray1.set(typedArray2, 3)を実行することで、typedArray2の7つの要素がtypedArray1のインデックス3(4番目の要素)以降に順番にコピーされます。そのため、元の配列の先頭3要素「11, 5, 13」はそのまま残り、それ以降の要素が新しい値に置き換えられています。

なお、コピー元の要素数がコピー先の残り領域を超える場合や、範囲外のインデックスを指定した場合はRangeErrorが発生するので、実装時には配列サイズに注意しましょう。

  1. JavaScriptのarray.includes()メソッドとは?配列に特定の要素が含まれているか判定する方法

    JavaScriptのarray.includes()メソッドは、配列の中に指定した要素が含まれているかどうかを判定するために使用します。戻り値はブール値(true / false)で、要素が見つかればtrue、見つからなければfalseを返します。 構文 array.includes(ele, start) 各パラメータの意味は以下のとおりです。 ele:検索したい要素(必須) start:検索を開始する位置(省略可能)。デフォルトは0で、配列の先頭から検索が始まります それでは、JavaScriptでarray.includes()メソッドを実際に実装してみましょう。 例1:数値の配列

  2. JavaScriptのarray.toLocaleString()関数の使い方|配列をロケール形式の文字列に変換する方法

    array.toLocaleString()関数とはJavaScriptのarray.toLocaleString()関数は、配列の要素を文字列として返し、各要素をカンマなどロケール固有の区切り文字で連結します。引数としてロケール(言語タグ)を指定することもでき、指定した言語・地域の書式に従って文字列へ変換されます。例えば、日付オブジェクトが含まれる配列に対してこの関数を使用すると、「en-GB」や「ja-JP」などのロケールに応じた形式で日付が表示されます。ロケールを省略した場合は、実行環境のデフォルトのロケールが使用されます。主な特徴配列のすべての要素を文字列化し、区切り文字で連結して返す