ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript オブジェクトと配列の違いは何ですか

JavaScript オブジェクトと配列の違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-06-22 15:15:442934ブラウズ

違い: 違い: 1. オブジェクトは名前付きの値を含む順序なしのコレクションですが、配列はエンコードされた値を含む順序付きのコレクションです。 2. 配列のデータには名前がなく、添え字のみがありますが、オブジェクトのデータには名前を指定する必要があります。

JavaScript オブジェクトと配列の違いは何ですか

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript のオブジェクト (オブジェクト) と配列 (配列) は似ているように見えることがありますが、これらは 2 つの異なるタイプのデータ コレクションです。オブジェクトは名前付きの値を含む順序付けされていないコレクションであり、配列はエンコードされた値の順序付けされたコレクションです。価値観。

例 1

次の例では、オブジェクトと配列を使用して、それぞれ 1 と true の 2 つの値を保存します。コード構造は次のとおりです。

var o = {  //对象
    x :1,  //该值命名为x
    y : true  //该值命名为y
}
var a = [  //数组
    1,  //该值隐含编码为0
    true  //该值隐含编码为1
]

オブジェクトの格納形式は配列に非常に似ているため、連想配列と呼ばれますが、本当の意味での配列ではありません。連想配列は値を特定の文字列に関連付けます。実数の配列は文字列には関連付けられませんが、値と非負の整数の添字に関連付けられます。

console.log(o["x"]);  //返回1,使用点语法存取属性
console.log(a[0]);  //返回1,使用中括号存取属性

ドット構文を使用して属性にアクセスする場合、属性名は識別子となり、角括弧を使用して属性にアクセスする場合、属性名は文字列になります。

例 2

ドット演算子を使用してオブジェクトのプロパティにアクセスする場合、プロパティ名は識別子で表されます。角括弧を使用してオブジェクトの属性にアクセスする場合、属性名は文字列で表されるため、文字列は実行時に動的に生成できます。

var o = {
    p1 : 1,
    p2 : true
}
for (var i = 1; i < 3; i ++) {
    console.log(o["p" + i]);
}

連想配列メソッドを使用して文字列式を使用してオブジェクト プロパティにアクセスすることは、非常に柔軟です。オブジェクトのプロパティが多数ある場合、ドット構文を使用してオブジェクトのプロパティにアクセスするのは面倒です。さらに、特殊なケースでは、オブジェクトのプロパティにアクセスするために連想配列のみを使用できることがあります。

[関連する推奨事項: JavaScript 学習チュートリアル]

以上がJavaScript オブジェクトと配列の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。