検索

ホームページ  >  に質問  >  本文

オブジェクト マッピング関数: Map 関数をオブジェクトに拡張します。

オブジェクトがあります:

リーリー

次のように使用できる Array.prototype.map に似たネイティブ メソッドを探しています:

リーリー

JavaScript には、そのようなオブジェクト用の map 関数はありますか? (これは Node.JS に必要なので、ブラウザー間の問題は気にしません。)

P粉060528326P粉060528326474日前891

全員に返信(2)返信します

  • P粉138871485

    P粉1388714852023-10-09 15:14:40

    JS の使用 ES10 / ES2019 1 行に 1 文ずつ書いてみてはいかがでしょうか。

    Object.entries() および Object.fromEntries()<代码>: の使用 リーリー

    同じことを関数として書きます:

    リーリー

    この関数は、再帰を使用してネストされたオブジェクトを四角形にします:

    リーリー

    ES7/ES2016

    では Objects.fromEntries は使用できませんが、 Expand で Object.assign を使用できます。演算子および計算キー名構文: リーリー

    ES6 / ES2015

    Object.entries は許可されていませんが、代わりに Object.keys を使用できます: リーリー ES6 では、

    for...of ループも導入され、より命令型のスタイルが可能になりました: リーリー


    Array.reduce()

    Object.fromEntries

    および reduce これを行うには: リーリー


    継承されたプロパティとプロトタイプ チェーン:

    まれに、

    プロトタイプ チェーン

    にある クラス オブジェクトをマップする必要がある場合があります。この場合、Object.keys()Object.entries() は、これらの関数にプロトタイプ チェーンが含まれていないため、機能しません。 継承された

    プロパティをマップする必要がある場合は、

    for (key in myObj) {...} を使用できます。 以下はそのような状況の例です: リーリー

    ただし、お願いですが、

    継承

    は避けてください。 :-)

    返事
    0
  • P粉826429907

    P粉8264299072023-10-09 10:42:04

    Object オブジェクトへのネイティブ map はありませんが、これはどうでしょうか:

    リーリー

    返事
    0
  • キャンセル返事