Bagaimana untuk mengembalikan pasangan nilai kunci daripada fungsi peta menggunakan operator spread
P粉253800312
2023-08-13 17:18:34
<p>Saya mempunyai objek dan tatasusunan. Andaian: </p>
<pre class="brush:php;toolbar:false;">const first = {
'key1': 'sesuatu tarikh',
'key2': 'sesetengah tarikh'
}
const second = ['key3', 'key4']</pre>
<p>Kemudian gunakan sintaks lanjutan untuk menggabungkannya menjadi satu objek. Untuk setiap item dalam tatasusunan, saya ingin mencipta pasangan nilai kunci baharu dan memasukkannya ke dalam objek gabungan ini. Pada masa ini, saya hanya boleh mengembalikan objek daripada fungsi peta, bukan pasangan nilai kunci. Bagaimana untuk menukar ini? </p>
<pre class="brush:php;toolbar:false;">const combined = {
... pertama,
...second.map(key => ({ [key]: new Date() })) // Kembalikan pasangan nilai kunci dan bukannya objek
}</pre>
<p>Hasil yang saya dapat:</p>
<pre class="brush:php;toolbar:false;">{
'0': { key3: 'some date' },
'1': { key4: 'some date' },
key1: 'sesuatu tarikh',
key2: 'sesuatu tarikh'
}</pre>
<p>Hasil yang saya mahukan:</p>
<pre class="brush:php;toolbar:false;">{
key1: 'sesuatu tarikh',
key2: 'sesuatu tarikh',
key3: 'sesuatu tarikh',
key4: 'sesuatu tarikh'
}</pre>
<p><br /></p>
Tidak boleh melakukan ini.
map
Mengeluarkan array (di mana setiap nilai adalah hasil daripada menghantar nilai pada indeks yang sepadan dalam tatasusunan asal kepada fungsi). Jika anda mengembangkan tatasusunan menjadi objek, anda akan mendapat indeks (nombor) sebagai nama harta dan nilai sebagai nilai.Jika anda ingin bermula dengan tatasusunan dan berakhir dengan objek, maka
map
就是错误的工具。请改用reduce
adalah alat yang salah. Sila gunakankurangkan
sebaliknya.Serupa dengan kod berikut: