Tableaux Zip en JavaScript

Shiv Yadav 12 octobre 2023
  1. Utilisez la méthode map pour compresser les tableaux en JavaScript
  2. Utilisez la méthode Array.from pour compresser les tableaux en JavaScript
Tableaux Zip en JavaScript

En JavaScript, il existe des situations où l’on souhaite compresser deux tableaux. Nous allons examiner le flashage de deux collections avec JavaScript dans ce didacticiel.

Le pendant JavaScript de la fonction Python zip doit être écrit. En d’autres termes, nous devons créer un tableau de paires étant donné de nombreuses collections de longueur égale.

Il existe différentes manières de compresser deux tableaux en JavaScript, par exemple en utilisant la méthode map(), la méthode Array.from() et la méthode Array.prototype.fill().

Utilisez la méthode map pour compresser les tableaux en JavaScript

La fonction map() en JavaScript compresse deux tableaux d’une certaine longueur. Cependant, il en résulte undefined si la longueur des deux tableaux ne correspond pas.

let a = [9, 8, 7];
let b = ['1', '2', '3'];
let zip = a.map(function(e, i) {
  return [e, b[i]];
});
console.log(zip);

Exécuter le code

La fonction de rappel que la méthode map() accepte appellera les éléments du tableau a et les éléments du tableau b mappés avec la collection a. Il est également simple d’apprendre à compresser de cette manière.

Production:

[[9, "1"], [8, "2"], [7, "3"]]

Lors de l’utilisation de la méthode map, assurez-vous que la longueur des deux tableaux doit être la même ; sinon, vous obtiendrez le résultat undefined.

let a = [9, 8, 7, 6];
let b = ['1', '2', '3'];
let zip = a.map(function(e, i) {
  return [e, b[i]];
});
console.log(zip);

Démo ici

Vous pouvez voir que les longueurs des tableaux a et b sont différentes.

Production:

[[9, "1"], [8, "2"], [7, "3"], [6, undefined]]

Utilisez la méthode Array.from pour compresser les tableaux en JavaScript

let a = [9, 8, 7, 6];
let b = ['90', '80', '70', '60'];
let zip = (a, b) =>
    Array.from(Array(Math.max(a.length, b.length)), (_, i) => [a[i], b[i]]);
console.log(zip(a, b));

Exécuter le code

Deux tableaux seront présents dans l’instance de la méthode Array.from ; ils seront envoyés à une fonction fléchée. Après avoir fait correspondre la longueur, le processus mappera les éléments de deux tableaux distincts.

Production:

[[9, "90"], [8, "80"], [7, "70"], [6, "60"]]

De plus, la carte équivalente affichera undefined pour tout élément manquant.

let a = [9, 8, 7];
let b = ['90', '80', '70', '60'];
let zip = (a, b) =>
    Array.from(Array(Math.max(a.length, b.length)), (_, i) => [a[i], b[i]]);
console.log(zip(a, b));

Démo ici

Production:

[[9, "90"], [8, "80"], [7, "70"], [undefined, "60"]]

La méthode Array.prototype.fill() fonctionne de la même manière que la méthode Array.from().

let a = [7, 8, 9];
let b = ['70', '80', '90'];
let zip = (a, b) =>
    Array(Math.max(a.length, b.length)).fill().map((_, i) => [a[i], b[i]]);
console.log(zip(a, b));

Exécuter le code

Production:

[[7, "70"], [8, "80"], [9, "90"]]
Auteur: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

Article connexe - JavaScript Array