配列 | ||||||||
配列って何? 配列の操作 参照テーブルとしての使い方 連想配列 |
||||||||
配列って何? 配列とは複数のデータを格納できる引き出しのようなものです。 このように記述します。
出力は、
tblは3つの文字列を所有する配列です。具体的には、tbl[0] → 'Toyota' tbl[1] → 'Nissan' tbl[2] → 'Honda' 長さ(データの数)→ 3 となります。 配列もC言語からみたら反則!のような記述ができます。
結果は、
文字列と数値が混在して配列に定義されています。ちなみにこういう書き方をすると
C言語やJavaなどではエラーになります。 | ||||||||
配列の操作 配列の生成 1)配列コンストラクタ var arr = new Array(1, 2, 3, 4); 2)配列リテラル var arr = [1, 2, 3, 4]; 3)通信のように通信時確定するデータは配列名を宣言する var arr = new Array(); var arr = []; 配列データの取得 配列名[インデックス] で取得できます。
取得データはNissanです。配列データの変更 配列名[インデックス]=変更する値 で取得できます。
Subaruに変わりました。constで宣言した配列も変更できます。配列データの追加 配列名[最後のインデックス+1]=追加する値 で取得できます。
['Toyota', 'Nissan', 'Honda', 'BMW']
BMWが追加されました。pushメソッド
['Toyota', 'Nissan', 'Honda', 'Subaru']
最後にSubaruが追加されました。unshiftメソッド
['Subaru', 'Toyota', 'Nissan', 'Honda'] 最初にSubaruが追加されました。 配列データの削除 delete演算子
結果は、['Toyota', …, 'Honda'] Nissanがundefinedになって配列の数は3のままです。 popメソッド
結果は、['Toyota', 'Nissan'] 最後の要素であるHondaが削除され配列の大きさが2になりました。 shiftメソッド
結果は、['Nissan', 'Honda'] 最初の要素であるToyotaが削除され配列の大きさが2になりました。 spliceメソッド splice書式は, splice(index, size) です。
結果は、tblは['Honda', 'Subaru'] deletedは['Toyota', 'Nissan'] index 0の"Toyota"から2つ目の要素"Nissan"が消去されています。 このメソッドならdeleteと違いundefinedの要素が残りません。 削除した要素に新しい要素を追加することもできます。
tblは['BMW', 'Mitubishi', 'Honda', 'Subaru']削除された"Toyota", "Nissan"のところに追加されています。 配列データの抜き取り sliceメソッドで要素を抜き取ることができます。
['Toyota', 'Nissan', 'Honda']インデックス0から(3-1)の要素を抜き取ることできました。 sliceメソッドではtblの要素は不変です。 文字列を配列に変換 splitメソッドで文字列を配列に変換できます。
['Good', 'morning', 'Mr', 'Honda.']文字列を配列に変換できました。分割する要素の長さを指定することもできます。
['Good', 'morning']最初から2要素が変換されました。 配列を文字列に変換 joinメソッドで配列の要素を繋げて文字列に変換できます。
Good morning Mr Honda.
文字列に変換できました。tbl.join("/"); にすればスペースの代わりに/にすれば、 Good/morning/Mr/Honda. 上記のようにできます。 | ||||||||
参照テーブルとしての使い方 データがすでに確定していて変更されることのない配列です。 例えばサウンドカードを使って長波の電波を受信するときのデータです。
結果は、(6) ['NWC', 19.8, 'NPM', 21.4, 'JJI', 22.2] 0:'NWC' 1:19.8 2:'NPM' 3:21.4 4:'JJI' 5:22.2 length:6 JJIの周波数を取得するには、
結果は、22.2 となります。 nwcは配列の0番目の要素です。JJIは4番目の要素ですが、送信局と周波数の2つの要素で 構成されるデータになるのでJJIは、 2番目の要素 * 2 + 周波数は+1した要素 になります。 JJIは2番目の要素で参照ししたければ配列の中に配列をいれる方法があります。
結果は、22.2 となります。 連想配列を使うともっと直感的な記述になります。 | ||||||||
連想配列 他のプログラミング言語で「連想配列」と呼ばれているものは、JavaScriptでも使えます。 参照テーブルとしての使い方で定義した配列を連想配列で記述します。 NWCのようなプロパティーがキーとなります。
結果は、19.8 となります。とてもわかりやすくなりました。送信局名と周波数だけでしたが、 変調方式と設置国の2項目を追加するには????
結果は、ASK です。 このようにプロパティーNWCに対する値としてオブジェクトを指定します。 キーに対して複数の要素を定義数することが多いのでこの表記方法がおススメです。 要素の追加 要素の追加は下記のようにキーと値を指定します。
{NWC: 19.8, NPM: 21.4, JJI: 22.2, NLK: 24.8}NLKが追加されました。 要素の削除 要素の削除は下記のようにdeleteにキーを指定します。
{NWC: 19.8, JJI: 22.2}NPMが削除されました。 要素の変更 要素の変更は下記のようにキーを指定sて値を変更します。
{NWC: 20, NPM: 21.4, JJI: 22.2}NPMの値が20に変更されました。 全キーの取得 全キーはObject.keys()で取得できます。
['NWC', 'NPM', 'JJI']キーが取得できました。 |