Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menggabungkan Tatasusunan Berdasarkan Item Unik dalam JavaScript?

Bagaimana untuk Menggabungkan Tatasusunan Berdasarkan Item Unik dalam JavaScript?

DDD
DDDasal
2024-10-29 02:23:02290semak imbas

How to Combine Arrays Based on Unique Items in JavaScript?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn