Maison >interface Web >js tutoriel >Comment combiner des tableaux basés sur des éléments uniques en JavaScript ?

Comment combiner des tableaux basés sur des éléments uniques en JavaScript ?

DDD
DDDoriginal
2024-10-29 02:23:02284parcourir

How to Combine Arrays Based on Unique Items in JavaScript?

Combinaison de tableaux par éléments uniques en JavaScript

En JavaScript, vous pouvez combiner des tableaux basés sur des éléments uniques en utilisant une combinaison de propriétés d'objet et de boucle fonctions.

Solution :

Commencez par créer un tableau vide newCells pour stocker les résultats combinés. Parcourez ensuite chaque élément du tableau d'origine :

<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>

Ce code parcourra le tableau totalCells et vérifiera si un objet avec le numéro de ligne actuel existe déjà dans newCells. Sinon, il crée un nouvel objet avec le numéro de ligne et initialise un tableau cellWidth vide. Ensuite, il pousse la largeur de cellule actuelle dans le tableau cellWidth.

Le tableau newCells résultant contiendra des objets avec des propriétés lineNumber uniques et des tableaux de valeurs cellWidth combinées en fonction des numéros de ligne.

Exemple de résultat :

Application de la solution ci-dessus à l'exemple d'entrée fourni :

<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>

Sortie :

<code class="js">[
    {
        lineNumber: 1,
        cellWidth: [15.552999999999999, 14],
    },
    {
        lineNumber: 2,
        cellWidth: [14, 14.552999999999999],
    },
]</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn