3.10 項目をリスト表示する 《配列》 【JavaScript超入門】
JavaScriptの学習メモ。
今日は『確かな力が身につくJavaScript「超」入門』の第3章を読んでみます。
3.10 配列
(p.124)
変数に代入する「データ」として、いままで文字列、数値、ブール値などを使ってきましたが、今回は新しいデータの種類として「配列」を紹介します。
これまで使用してきた各種データは、変数1つにつき1つのデータを保存できるだけでした。
配列を使うと、複数のデータを1つにまとめてグループ化することができます。
サンプルコード
「index.html」というファイルを作り、以下の内容を書きます。
実行結果
「index.html」をChromeで開きます。
以下のような実行結果になりました。
配列「todo」が、HTMLの<li>~</li>の中に入って、表示されていることが確認できました。
配列
配列(Array)は、変数が束になったもので、複数のデータが入る箱ですね。
現実世界にあるものだと、レターケースに似ています。
- レターケース全体が配列
- レターケースの引き出しが変数
複数の値を格納するのに用いられるのが配列である。
JavaScriptの配列
JavaScript の Array オブジェクトは、配列を構築するためのグローバルオブジェクトです。
配列とは、高レベルのリスト構造のようなオブジェクトです。
JavaScriptの配列の実体は、オブジェクトです。
つまり、JavaScriptの配列は、オブジェクトとして扱うことができます。
オブジェクトということは、プロパティとメソッドを持たせることができます。
JavaScriptの配列は、Arrayオブジェクトであり、データを操作するためのメソッドが最初からいろいろ用意されています。
配列の作り方
配列を作成するには角カッコ [] を使います。
書式:項目数が0個の配列を作成して変数に保存する
書式:1個以上のデータを持つ配列を作成する
配列からデータを読み取る
書式:配列のデータをインデックス番号を指定して読み取る
- インデックス番号は、配列の引き出しに付けた番号です。
- インデックス番号は、1からではなく、0から始まります。
↓
- 配列todoを作成
- todoの中身は、「買い物」「調理」「後片付け」の3個のデータ
- 配列の中から「買い物」を読み取るには、todo[0]とインデックス番号を指定
- 配列の中から「調理」を読み取るには、todo[1]とインデックス番号を指定
- 配列の中から「後片付け」を読み取るには、todo[2]とインデックス番号を指定
配列のメソッド
JavaScriptの配列(Arrayオブジェクト)には、データを操作するためのメソッドが、最初からいろいろ用意されています。
(例)配列のpushメソッドは、配列の一番後ろにデータを追加します。
書式:配列の最後にデータを追加する
他の配列メソッドについては、MDNのリファレンスをご参照ください。
→ Arrayインスタンスのメソッドという項目に、配列メソッドが列挙されています。
DOM操作
配列の話とは別に、HTMLの操作もちょっと練習しています。
リストタグ「<li>~</li>」を追加する方法を見てみましょう。
DOMとは?
DOMとは - JavaScript超初心者によるJavaScript入門講座
DOM(Document Object Model)とは、xmlやhtmlの各要素、たとえば<p>とか<img>とかそういった類の要素にアクセスする仕組みのことです。
このDOMを操作することによって、要素の値をダイレクトに操作できます。
ブラウザーは、HTML文書をDOMとして扱い、JavaScriptでDOMを操作することで、HTMLを書き換えることができます。
document.createElementメソッド
DOMのdocumentオブジェクトに、createElementメソッドが用意されており、これは何もないところからタグを生成します。
指定の要素名の要素を生成します。
このように書くと、リストタグ<li>のオブジェクト(Elementオブジェクト)が生成されて、変数「li」に格納されます。
textContent プロパティ
リストタグ<li>のオブジェクトのテキスト内容に、配列todoのデータを入れます。
Node.textContent - Web API インターフェイス | MDN
textContent プロパティは、ノードおよびその子孫のテキスト内容を表します。
appendChild()メソッド
id属性が「list」の要素、つまり<ul id="list">を取得して、appendChild()メソッドで子要素を挿入します。
appendChild()メソッドは、すでにある子要素の下に挿入します。
appendChild()メソッドを繰り返し使うと、todoのデータを次々と挿入できます。
Node.appendChild - Web API インターフェイス | MDN
Node.appendChild() メソッドは、特定の親ノードの子ノードリストの末尾にノードを追加します。
書式:取得した要素に子要素を挿入する
まとめ
- 複数のデータを扱うときは、「変数」ではなく、「配列」というデータ構造を利用する
- JavaScriptの配列リテラル(書式)は、いろいろ用意されていて、いろんな配列の作り方がある
- JavaScriptの配列は、Arrayオブジェクトであり、さまざまなプロパティやメソッドが最初から用意されているので、データ操作が便利
JavaScriptの配列を活用して、複数のデータをまとめて扱えるようにしたいです。
確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)
- 作者: 狩野祐東
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/10/30
- メディア: 単行本
- この商品を含むブログを見る