当サイトはアフィリエイト広告を利用しています

配列

配列宣言

var members = ['田中', '鈴木', '佐藤'];

空の配列を作成する場合、下記のどちらでも同じ。

var members = [];

var members = new Array();

要素数を指定して作成。中身はundefinedになっている。

var members = new Array(10);    //10個の要素が出来る

あなぬけで作成。

var members = ['abc', , , 'def']; //members[1]と[2]はundefined

存在しない要素にアクセスするとundefined

var members[2] = ['田中', '鈴木']

console.log(members[5]);  //undefined

存在しない要素に代入すると拡張する。

members[5] = '佐藤';  // ['田中', '鈴木', undefined, undefined, undefined, '佐藤']

lengthプロパティを変更することでも長さを変更できる。
今のlengthより大きい数字を入れれば拡張するし、小さくすれば縮小する。
小さくした時に、はみ出た要素は削除される。
配列を全削除するのにlengthに0を代入する使い方もある。

members.length = 10;

配列の最後に要素を追加

var members = ['田中', '鈴木']

members.push('佐藤');    //'田中' '鈴木' '佐藤'

配列の連結

Array.concat()を使用する。
連結した新しい配列を戻り値で返す。
配列内の要素が参照の場合、新しい配列でも参照をそのまま所持する。
(連結前と連結後で同じ参照を持つ)

var arrayA = ['A', 'B', 'C'];
var arrayB = ['x', 'y', 'z'];

var arrayC = arrayA.concat(arrayB);    // 'A', 'B', 'C', 'x', 'y', 'z'

多次元配列

var members = ['田中', '鈴木', '佐藤', ['東京', '神奈川', '埼玉'] ];

オブジェクトリテラル(連想配列、クラス代わりにも使用)

コード

var member = {
	name:'田中',
	age:15,
	birthplace:'東京',
	'job':'エンジニア'  //キーをクォーテーションで囲ってもいいが囲わないのが推奨
};

新規のプロパティ名に代入する形で、変数宣言後に追加もできる。

コード

var member = {};
member['name'] = '田中';
member['age'] = 15;
member['birthplace'] = '東京';

下記は同じ意味。どちらを使っても良い。

var member = new Object();

var member = {};

ドット演算子を使ったアクセス

console.log(member.name)

プロパティ名を利用(ブラケット構文)

console.log(member['name']);

プロパティ名は変数に代入していても使える

var key = 'name';
console.log(member[key]);

ドット演算子は、数字から始まるプロパティ名を扱えないし、変数を使ったアクセスもできない。

var key = 'name';
console.log(member.key); //これはエラー