JavaScript의 Zip 배열

Shiv Yadav 2023년10월12일
  1. JavaScript에서 map 메서드를 사용하여 배열 압축
  2. JavaScript에서 Array.from 메서드를 사용하여 배열 압축
JavaScript의 Zip 배열

JavaScript에서는 두 개의 배열을 압축하려는 상황이 있습니다. 이 튜토리얼에서는 JavaScript를 사용하여 두 개의 컬렉션을 플래싱하는 방법을 살펴보겠습니다.

Python zip 함수의 JavaScript 대응물을 작성해야 합니다. 즉, 동일한 길이의 컬렉션이 많이 주어지면 쌍의 배열을 만들어야 합니다.

map() 메서드, Array.from() 메서드 및 Array.prototype.fill() 메서드를 사용하는 것과 같이 JavaScript에서 두 개의 배열을 압축할 수 있는 다양한 방법이 있습니다.

JavaScript에서 map 메서드를 사용하여 배열 압축

JavaScript의 map() 함수는 특정 길이의 두 배열을 압축합니다. 그러나 두 어레이의 길이가 일치하지 않으면 undefined가 됩니다.

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

코드 실행

map() 메소드가 받아들이는 콜백 함수는 a 배열의 요소와 a 컬렉션으로 매핑된 b 배열의 요소를 호출합니다. 이 방법으로 압축하는 방법을 배우는 것도 간단합니다.

출력:

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

map 방법을 사용하는 동안 두 어레이의 길이가 같아야 합니다. 그렇지 않으면 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);

여기 데모

ab 배열의 길이가 다른 것을 볼 수 있습니다.

출력:

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

JavaScript에서 Array.from 메서드를 사용하여 배열 압축

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

코드 실행

Array.from 메서드의 인스턴스에는 두 개의 배열이 있습니다. 그들은 화살표 기능으로 보내질 것입니다. 길이를 일치시킨 후 프로세스는 두 개의 개별 배열에서 항목을 매핑합니다.

출력:

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

또한 해당 맵은 누락된 요소에 대해 undefined를 출력합니다.

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

여기 데모

출력:

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

Array.prototype.fill() 메소드는 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));

코드 실행

출력:

[[7, "70"], [8, "80"], [9, "90"]]
작가: 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

관련 문장 - JavaScript Array