在 JavaScript 中壓縮兩個陣列
    
    Anika Tabassum Era
    2024年2月15日
    
    JavaScript
    JavaScript Array
    
- 
          
            在 JavaScript 中使用 map()方法壓縮兩個陣列
- 
          
            在 JavaScript 中使用 Array.from()方法壓縮兩個陣列
- 
          
            使用 Array.prototype.fill()方法壓縮兩個陣列
 
JavaScript 有 map() 方法來壓縮兩個一定長度的陣列。但是,如果相應的兩個陣列的長度不匹配,則最小加長陣列將列印 undefined 作為其匹配項。
在這裡,除了 map() 方法,我們將看到 Array.form() 方法和 Array.prototype.fill() 方法的演示,該方法明確宣告瞭何時執行陣列長度不匹配。
在 JavaScript 中使用 map() 方法壓縮兩個陣列
map() 函式接受一個回撥函式,該函式將呼叫 x 陣列元素並將它們與 y 陣列的元素對映。這種簡單的拉鍊方式也很容易掌握。
程式碼片段:
var x = [1, 2, 3];
var y = ['10', '20', '30'];
var z = x.map(function(e, i) {
  return [e, y[i]];
});
console.log(z);
輸出:

在 JavaScript 中使用 Array.from() 方法壓縮兩個陣列
在 Array.from() 方法的例項中,我們將有兩個陣列並將它們傳遞給箭頭函式。該函式將首先匹配長度,然後對映來自兩個不同陣列的元素。此外,當發現任何元素丟失時,相應的地圖將為此列印 undefined。
程式碼片段:
var x = [1, 2, 3, 4];
var y = ['10', '20', '30'];
var zip = (x, y) =>
    Array.from(Array(Math.max(x.length, y.length)), (_, i) => [x[i], y[i]]);
console.log(zip(x, y));
輸出:

使用 Array.prototype.fill() 方法壓縮兩個陣列
Array.prototype.fill() 方法的工作方式與 Array.from() 方法類似,並按預期輸出。
程式碼片段:
var x = [1, 2, 3];
var y = ['10', '20', '30', '40'];
const zip = (x, y) =>
    Array(Math.max(x.length, y.length)).fill().map((_, i) => [x[i], y[i]]);
console.log(zip(x, y));
輸出:

        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
