オブジェクトの中身をインデックス(番号)で取得したい場合の方法をメモしておきます。
オブジェクトと配列
var data={
"1a": "a",
"2a": "b",
"3a": "c",
}
このdataはオブジェクトであり、配列ではない。
→data[0]のようにインデックスを指定しても、取得はできない!
オブジェクトを配列にするには?
Object.keysとObject.valuesを使うと、キーと値をそれぞれ配列に変換することができます。
Object.valuesを使うと、valueの値が配列として取得できます。
Object.values(data) //=>["a","b",c"]
同様にObject.keysを使うと、配列としてオブジェクトのキーを取得できます。
Object.keys(data) //=>["1a","2a",3a"]
インデックスで取得するには?
Object.keysでオブジェクトの値を配列に変換してから、インデックスで取得すればいいです。
Object.keys(data)[0]; //→最初の要素を取得 "a"
コメント