Menggabungkan Tatasusunan mengikut Item Unik dalam JavaScript
Dalam JavaScript, anda boleh menggabungkan tatasusunan berdasarkan item unik menggunakan gabungan sifat objek dan gelung fungsi.
Penyelesaian:
Mulakan dengan mencipta tatasusunan kosong newCells untuk menyimpan hasil gabungan. Kemudian lelaran melalui setiap elemen dalam tatasusunan asal:
<code class="js">for (var i = 0; i < totalCells.length; i++) { var lineNumber = totalCells[i].lineNumber; // Check if an object for the current line number already exists in newCells if (!newCells[lineNumber]) { // Create a new object with the line number and an empty array to store cell widths newCells[lineNumber] = { lineNumber: lineNumber, cellWidth: [] }; } // Add the current cellWidth to the array in the new object newCells[lineNumber].cellWidth.push(totalCells[i].cellWidth); }</code>
Kod ini akan berulang melalui tatasusunan totalCells dan semak sama ada objek dengan nombor baris semasa sudah wujud dalam newCells. Jika tidak, ia mencipta objek baharu dengan nombor baris dan memulakan tatasusunan cellWidth kosong. Kemudian ia menolak lebar sel semasa ke dalam tatasusunan cellWidth.
Tatasusunan Sel baru yang terhasil akan mengandungi objek dengan sifat lineNumber unik dan tatasusunan nilai cellWidth yang digabungkan berdasarkan nombor baris.
Contoh Output:
Menggunakan penyelesaian di atas pada input sampel yang disediakan:
<code class="js">totalCells = [ { cellwidth: 15.552999999999999, lineNumber: 1 }, { cellwidth: 14, lineNumber: 2 }, { cellwidth: 14.552999999999999, lineNumber: 2 }, { cellwidth: 14, lineNumber: 1 } ]; // Code to combine arrays based on unique line numbers // ... // Output console.log(newCells);</code>
Akan mengeluarkan:
<code class="js">[ { lineNumber: 1, cellWidth: [15.552999999999999, 14], }, { lineNumber: 2, cellWidth: [14, 14.552999999999999], }, ]</code>
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan Berdasarkan Item Unik dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!