exercice Fusion de deux tableaux

mikadox

Membre
Bonjour à toutes et à tous,

Dans la lignée des exercices PHP X, je vous propose aujourd'hui un exercice JavaScript !
Il est très simple et ne nécessite qu'une seule fonction.

C'est une ligne de code que l'on doit trouver, elle doit être capable de fusionner 2 tableaux.
Voici des exemples de résultats
Exemple de tableaux à convertir et leurs résultats
([0, 2, 5], [8, 6, 9]) ➞ [ [ 0, 8 ], [ 2, 6 ], [ 5, 9 ] ]

([2, 2], [4, 8]) ➞ [ [ 2, 4 ], [ 2, 8 ] ]

([1], [2]) ➞ [ [ 1, 2 ] ]

La fonction devra être générique c'est à dire qu'elle fusionne n'importe quel tableau sans les déclarer en variables.
un console.log de tableaux à fusionner suffit, voici comment se présentera la fonction, il n'y a qu'à trouver le bon élément et la bonne syntaxe pour l'animer :
JavaScript
function convert(tabX, tabY) {
    // Écrivez votre code ici
}

// Affichage de la sortie
console.log(convert([0, 2, 5], [8, 6, 9]));
console.log(convert([2, 2], [4, 8]));
console.log(convert([1], [2]));

C'est un exercice assez commun mais pour une mise en bouche c'est pas mal.
A vos éditeurs !
 

Nicolas

Membre
Le jeu c'est de comprendre l'énoncé Wazz9 ;)

Je te charrie mikadox c'est clair pour moi, il suffit de trouver la ligne manquante dans la fonction pour avoir les bons résultats.
Tu n'as pas donné de délai pour les réponses, le dernier exercice en PHP on avait laissé une semaine mais fait comme bon te semble. Ce n'est pas graduel à la difficulté de l'exercice mais plutôt pour se laisser une chance d'avoir le plus de réponses possible.

(y)
 

L'occitan

Membre
Salut tout le monde, je m'y suis essayé et j'ai mon petit code à vous proposer.
Donc j'ai repris la code de la fonction de Mikadox et ai rajouté la méthode relevé par Ziggy
JavaScript
function convert(tabX, tabY) {
  return tabX.map((ix, iy) => [ix, tabY[iy]])
}

Prenons cet exemple ([2, 2], [4, 8]) ➞ [ [ 2, 4 ], [ 2, 8 ] ]tabX = [2, 2] et tabY = [2, 8]:
On crée un nouveau tableau avec map : var nouveauTableau = arr.map(callback [, thisArg])
ix est associé à iy dans leur position respective de leur tableau respectif.

😓
 

mikadox

Membre
Pas mieux !
Je ne jouais pas car c'est un exercice corrigé que j'ai trouvé sur le net donc j'avais la réponse.
L'occitan tu t'étais bien caché !

Mais pour comprendre un peu mieux, si le nombre de valeurs dans chaque tableau n'est pas le même, comme par exemple
tabX = [0, 2, 5, 3] et tabY = [8, 6, 9]
alors un élément undefined est associé à la valeur orpheline : [ [ 0, 8 ], [ 2, 6 ], [ 5, 9 ], [ 3, undefined ] ]
 

Cascadeur

Membre
Bravo L'occitan, perso même avec la réponse j'ai du mal à déchiffrer la syntaxe et la logique de la méthode map, en tout cas dans ce cas là.
L'exemple sur MDN me parle un peu plus
JavaScript
const array1 = [1, 4, 9, 16];

// pass a function to map
const map1 = array1.map(x => x * 2);

console.log(map1);
// expected output: Array [2, 8, 18, 32]
Chaque valeur de array1 est multiplié par 2, ok.
mais tabX.map((ix, iy) => [ix, tabY[iy]]) j'avoue que je suis perdu...
 

Ces discussions pourraient vous intéresser...

bonjour à tout le monde. je dois créer deux listes déroulantes HTML. le choix effectué dans la première conditionne les choix dans la deuxième, le tout doit être géré par JavaScript. donc voici mon code pour les listes <select name="listA"> <name>Jeux Olympiques</name>...
-->
Salut les gars ! J'ai vu que certains se sont bien amusés avec PHP pour censurer un texte, comme je suis en plein apprentissage de Python (enfin je m'amuse un peu) j'ai voulu créer un petit code qui permet de faire la même chose. Alors c'est à peu près la même syntaxe : str.replace...
Salut le forum, Je cherche à réaliser un bouton bicolore dont la séparation entre les deux couleurs soit une diagonale. Je n'ai pas de problème avec le code HTML ni le CSS pour les couleurs <div class="btn"> <div class="btn-left">Valider</div> <div...
-->
Haut