スプレッド演算子を使用してマップ関数からキーと値のペアを返す方法
P粉253800312
P粉253800312 2023-08-13 17:18:34
0
1
484
<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粉253800312
P粉253800312

全員に返信(1)
P粉925239921

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

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

次のようなコード:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート