1. 自己列挙可能なプロパティ
これは合理的です。なぜなら、ほとんどの場合、オブジェクト自体のプロパティのみを気にする必要があるからです。 オブジェクトに独自のプロパティと継承されたプロパティの両方があり、 simpleColors = {とする 色A: '白'、 色B: '黒' }; natureColors = {とします colorC: '緑'、 色D: '黄色' }; Object.setPrototypeOf(natureColors、simpleColors); Object.keys(natureColors); // => ['colorC', 'colorD'] natureColors['colorA']; // => 'white' natureColors['colorB']; // => '黒'
// ... オブジェクト。値(natureColors)。 // => ['緑', '黄'] オブジェクト.entries(natureColors); // => [ ['colorC', '緑'], ['colorD', '黄'] ] ここで、 // ... enumerableKeys = [] とします。 for (let key in natureColors) { enumerableKeys.push(キー); } enumerableKeys; // => ['colorC', 'colorD', 'colorA', 'colorB']
さらに、for..inは 2. Object.values()はプロパティ値を返します
たとえば、Object.keys() を使用してキーを収集し、そのキーを使用してオブジェクトから対応する値を取得します。 食事 = { 食事A:「朝食」 食事B: 「ランチ」 食事C:「夕食」 }; for (let key of Object.keys(meals)) { mealName = 食事[キー]とします。 // ... mealName を使って何かする console.log(食事名); } // 「朝食」「昼食」「夕食」 食事は単純な物体です。 コードは単純に見えますが、 食事 = { 食事A:「朝食」 食事B: 「ランチ」 食事C:「夕食」 }; for (let mealName of Object.values(meals)) { console.log(食事名); } // 「朝食」「昼食」「夕食」
3. オブジェクト.entries() これらのキーと値のペアを直接使用するのはあまり便利ではないかもしれませんが、次に示すように、配列の構造化代入を通じてキーと値にアクセスするのは非常に簡単になります。 食事 = { 食事A:「朝食」 食事B: 「ランチ」 食事C:「夕食」 }; for (let [キー, 値] of Object.entries(食事)) { console.log(キー + ':' + 値); } // '食事A:朝食' '食事B:昼食' '食事C:夕食' 上記のように、 キーと値のペアの 2 次元配列は、通常の Map コンストラクターを使用して Map オブジェクトに変換できます。 ペースを遅くする例を以下に示します。 挨拶をしましょう = { 朝:「おはようございます」 正午:「こんにちは」 夕方:「こんばんは」 }; greetingsMap を新しい Map(Object.entries(greetings)) とします。 greetingsMap.get('morning'); // => 'おはようございます' greetingsMap.get('midday'); // => 'こんにちは' greetingsMap.get('evening'); // => 'こんばんは' マップ オブジェクトはキーと値のペアを格納します。任意の値 (オブジェクトまたはプリミティブ) をキーまたは値として使用できます。 興味深いことに、Map は、Map インスタンスのプロパティ値またはキーと値のペアを抽出するために、
.values() と .entries() のマップを返すメソッドを見てみましょう。 // ... [...greetingsMap.values()]; // => ['おはようございます', 'こんにちは', 'こんばんは'] [...greetingsMap.entries()]; // => [ ['朝', 'おはよう'], ['正午', 'こんにちは'], // ['こんばんは', 'こんばんは'] ] 注: 4. オブジェクトプロパティの順序JS オブジェクトは単純なキーと値のマッピングであるため、オブジェクト内のプロパティの順序は重要ではなく、ほとんどの場合、依存する必要はありません。 ES5 およびそれ以前の標準では、プロパティの順序はまったく指定されていませんでした。 ただし、ES6 以降では、時間が明示的に指定されていない限り、プロパティの順序は特定のルール セットに基づきます。このプロパティのソート規則を説明する例を記述するために、2 つの新しいメソッド
順序付けられたコレクションが必要な場合は、データを配列またはセットに保存することをお勧めします。 要約: Object.entries() は、キーと値を異なる変数に簡単に割り当てることができるように配列を構造化する場合に最適です。 この関数を使用すると、プレーンな JS オブジェクトのプロパティを Map オブジェクトに簡単にマッピングすることもできます。 、 注意: コードがデプロイされた後に これで、JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法についての記事は終了です。JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法の詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySqlは指定されたユーザーのデータベースビュークエリ権限を設定します
>>: Nginx ローカル ディレクトリ マッピング実装コード例
まずコードファイルの構造を見てみましょう。エントリファイル (index1.js) の内容: ...
目次1. 関数の抽出2. 重複した条件付きスニペットを結合する3. 条件分岐文を関数に抽出する4. ...
目次 <テンプレート> <ul class="コンテナ">...
背景スレッド•マスタースレッドコア バックグラウンド スレッドは主に、バッファー プール データをデ...
Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....
目次序文ローカルストレージの使用シナリオ使用上の問題解決機能性有効期限を追加データ暗号化を追加する命...
1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...
問題を見つける今日、仕事中に、ローカル データベースから仮想マシン CentOS 6.6 上のデータ...
目次1. 事前準備1.1 Node.jsをインストールする1.2 webpackをインストールする1...
デフォルトでは、ラベルとスパンの幅の設定は無効です。一般的に、表示属性は必須ですコードをコピーコード...
序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...
HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...
Docker ネットワークの作成に –subnet を追加した後、docker network ls...
1. nginx-1.8.1.tar.gzを解凍する2. fastdfs-nginx-module-...
ビルドを無効にするパーティション式では、次の構成はサポートされません。ストアドプロシージャ、ストアド...