LoginSignup
0
2

More than 5 years have passed since last update.

【JavaScript】「配列」と「オブジェクト」のデータ型について学ぶ - データの操作編

Last updated at Posted at 2018-08-25

前回に引き続き、「配列」と「オブジェクト」の違いについてまとめていく。

「ノンプログラマのためのJavaScript はじめの一歩」 第2章 JavaScriptの文法 より

値の取得

配列

  • 変数名[インデックス] で取得できる
  • インデックスとは、要素に対して 0 から順番に振られた番号みたいなもの
var dog = [
  'Chihuahua',
  'Shiba',
  'Pug'
];

console.log(dog[1]); //-> Shiba

オブジェクト

  • 変数名.プロパティ名 で取得できる
    • 基本的にはこの記法を使用する
  • 配列のように [] を使って、 変数名['プロパティ名'] でも取得できる
    • プロパティ名を変数にして呼び出したい場合[] で指定しなければいけない
var dog = {
  'name': 'Doc',
  'profile': {
    'breed': 'Chihuahua',
    'sex': 'Male',
    'age': 7
  }
};

console.log(dog.name); //-> Doc
console.log(dog['name']); //-> Doc
console.log(dog.profile.age); //-> 7

var key = 'name';
console.log(dog[key]); //-> Doc

入れ子になっているデータの値を取得する場合は

どちらも [インデックス].プロパティ名 をつないで指定することで取得できる。

値の更新

配列もオブジェクトも「値の取得方法」で変更したい値を指定して代入する。

【配列のみ】要素数の取得

オブジェクトのプロパティ数を取得する方法は記載されていなかった。

配列の変数名.length で取得できる。

var a = [
  [
    1, 2, 3, 4, 5
  ],
  [
    1, 2, 3
  ]
]

console.log(a.length) //-> 2
console.log(a[0].length) //-> 5

【オブジェクトのみ】プロパティの追加

この章では配列の更新方法は記載されていなかったので、オブジェクトのみ。

var dog = {
  'name': 'Doc'
};

dog.coat = 'smooth';
console.log(dog); //-> {name: "Doc", coat: "smooth"}

まとめ

理解はできたけど書いてあるコードを読み解くには、値の取得方法からデータがどのような構造になっているかイメージしなければ難しそう。

  • [インデックス] になっているところは配列
  • .プロパティ名 になっているところはオブジェクト
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2