格納されたオブジェクト、配列、またはJSONにアクセスして処理する方法
2019.11.25
2019.11.25
質問内容
オブジェクトと配列を含むネストされたデータ構造があります。どのようにして情報を抽出できますか。つまり、特定の値または複数の値(またはキー)にアクセスできますか
例えば:
var data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] };
でname2番目のアイテムにアクセスするにはどうすればよいitemsですか?
ベストアンサー
JavaScriptには、複数の値を含むことができる1つのデータ型Objectのみがあります。
オブジェクトの形式は
{key: value, key: value, ...}
配列の形式は
[value, value, ...]
配列とオブジェクトの両方がkey -> value構造を公開します。配列のキーは数値である必要がありますが、オブジェクトのキーとして任意の文字列を使用できます。キーと値のペアは、「プロパティ」とも呼ばれます。
プロパティには、ドット表記を使用してアクセスできます
const value = obj.someProperty;
または、プロパティ名が有効なJavaScript 識別子名[spec]でない場合、または名前が変数の値である場合は、ブラケット表記。
// the space is not a valid character in identifier names const value = obj["some Property"]; // property name as variable const name = "some Property"; const value = obj[name];
そのため、配列要素にはブラケット表記を使用してのみアクセスできます。
const value = arr[5]; // arr.5 would be a syntax error // property name / index as variable const x = 5; const value = arr[x];
原文