js オブジェクトのプロパティを取得する方法は 2 つあります: 1. を使用する方法 2. [] を使用する方法
オブジェクト プロパティを取得する 2 つの基本的な方法のコードは次のとおりです。
// 通过.方式获取属性值,key是静态的
var a = {name: "zhang", age: 18};
console.log(a.name);
// 通过[]获取属性值, key是动态的,可以是字符串,或者数字的形式
var b = {"apple": 3, "pear": 2}
var c = {1: "number1", 2: "number2"}
console.log(b["apple"]);
console.log(c[1]); // 注意这里的写法跟数组容易混淆,c仍是对象,不是数组
// 获取对象所有key的方法
console.log(Object.keys(b)); // 输出[ 'apple', 'pear' ]
配列とオブジェクトの本質は、変数を呼び出して格納された複数の値を表示することであるため、最初は、配列とオブジェクト関連の使用方法に大きな違いはありません。
この 2 つの主な違いは、配列の添字が連続した数字であり、ヒープ メモリに順番に格納されること、オブジェクトが必ずしも書き込み順に格納されるとは限らず、データが主に 1 対 1 で取得されることです。 -キーと値の間の1つの対応
原則として、オブジェクトと配列は . または [] を介して取得できますが、命名規則に問題があります
以下、配列の実際の応用が使えないことを最下層から説明します 要素を取得する理由
オブジェクト/配列. 属性 このメソッドは要素の要件を取得します. 背後の属性名は js 命名規則に準拠する必要があります.
array.index の場合、インデックスは数値であるため、js では、名前を数値で開始できないと規定されています。
したがって、仕様に準拠していない場合、配列を使用して要素を取得することはできません。
対応する長さは命名規則に準拠しているため、属性値は arr.length を介して取得できます。
以下は、配列とオブジェクトの両方が[]を介して要素を取得できる理由を最下層から説明します
Object/array[attribute][] [] の数値型属性は暗黙的に文字列に変換されるため、array.Index を使用できます
したがって、このメソッドを使用して配列内の要素を取得できます
オブジェクト/配列[数値型]の場合、数値型は文字列に変換されます
オブジェクト/配列 [変数]、変数に格納されている値に従ってプロパティを検索します
オブジェクト/配列 [""]、内部のプロパティ名は、配列インデックスなどの js 仕様に準拠していない可能性があります