{
  "$type": "site.standard.document",
  "canonicalUrl": "https://blog.nove-b.dev//posts/create-n-arrays-javascript",
  "path": "/posts/create-n-arrays-javascript",
  "publishedAt": "2023-01-22T00:00:00.000Z",
  "site": "at://did:plc:2atly2y5kfyjcj5zap6pv4wd/site.standard.publication/3mmxeqr2tcb2k",
  "tags": [
    "javascript",
    "配列"
  ],
  "textContent": "ネットで見つけた方法は\n\nどうやら下記コードで目的は達成できるらしい。\n\nいったい、どうしてこうなるのか。\n\n何が行われているのか?\n\nnew Array()\n\nかっこの中に入れたLength分の配列を作成する。\n\nつまりnew Array(10)であれば10個の値を含む配列を作成してくれる。\n\nちなみに値はundefinedになる\n\nfill()\n\n> fill() メソッドは、開始位置(既定値は 0)から終了位置(既定値は array.length)までのすべての要素を、静的な値に変更した配列を返します。\n\nつまり先ほど作った10個のundefinedを持つ配列のundefinedを0に変更してくれるということ?\n\nということらしい。\n\nこの時点でタイトル(n個の任意の値を持つ配列を作成する)という目的は達成されている。\n\nいったいmap()は何をしているのか?\n\nmap()\n\nこのコードでいえばmap()は配列の個数分取り出して0を入れるという、まったく生産性のない動きをしている。\n\nつまり本タイトルという目的を達成するためであれば、不要以外の何物でもない。\n\nn個の任意の値を持つ配列を作成する方法\n\nということで結論は、\n\nに落ち着いた。\n\nmap()が必要な場合は?\n\nちなみにmap()が必要な時は、必要とする値がオブジェクトの時らしい。\n\njavascript fillでオブジェクトの配列を作成した際の注意点\n\n上に詳しく説明されているけど、どうやら指定した個数分参照渡しされているということ。 つまり、3つの配列を作り、その2番目のkeyを変更しようとしたところ、すべてのkeyが変更される結果になる。\n\nそのため、mapで入れなおす必要がある。\n\n念のためシンプルな個数分の配列で行ったけど、問題なかった。\n\nオブジェクトの時だけことは起こるらしい。",
  "title": "Javascriptで任意の値を持つn個の配列を作成する"
}