検索

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

スプレッド演算子を使用してマップ関数からキーと値のペアを返す方法

<p>オブジェクトと配列があります。仮定:</p> <pre class="brush:php;toolbar:false;">const first = { 'key1': 'ある日付', 'key2': 'ある日付' } const Second = ['key3', 'key4']</pre> <p>次に、拡張構文を使用してそれらを 1 つのオブジェクトにマージします。配列内の項目ごとに、新しいキーと値のペアを作成し、それをこのマージされたオブジェクトに置きたいと考えています。現時点では、map 関数からオブジェクトのみを返すことができ、キーと値のペアを返すことはできません。これを変更するにはどうすればよいですか? </p> <pre class="brush:php;toolbar:false;">const generated = { ...初め、 ...second.map(key => ({ [key]: new Date() })) // オブジェクトの代わりにキーと値のペアを返します }</pre> <p>得られた結果:</p> <pre class="brush:php;toolbar:false;">{ '0': { key3: 'ある日付' }, '1': { key4: 'ある日付' }, key1: 'いつかの日付', key2: 'いつかの日付' }</pre> <p>私が望む結果:</p> <pre class="brush:php;toolbar:false;">{ key1: 'いつかの日付', key2: 'いつかの日付'、 key3: 'いつかの日付'、 key4: 'いつかの日付' }</pre> <p><br /></p>
P粉253800312P粉253800312501日前504

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

  • P粉925239921

    P粉9252399212023-08-14 14:46:08

    これはできません。 map array を出力します (各値は、元の配列内の一致するインデックスの値を関数に渡した結果です)。配列をオブジェクトに展開すると、インデックス (数値) がプロパティ名として、値が値として取得されます。

    配列で始めてオブジェクトで終わりたい場合、map は間違ったツールです。代わりに reduce を使用してください。

    次のようなコード:

    リーリー

    返事
    0
  • キャンセル返事