首頁 > 後端開發 > Python教學 > JavaScript 中是否存在與 Python 的 zip 函數等效的函數?

JavaScript 中是否存在與 Python 的 zip 函數等效的函數?

Mary-Kate Olsen
發布: 2024-12-13 19:43:14
原創
270 人瀏覽過

Is There a JavaScript Equivalent to Python's zip Function?

Python zip 函數的Javascript 等效項

在Python 中,zip 函數將多個可迭代物件組合成單一可迭代元元組,其中每個元組包含輸入迭代中的對應元素。 Javascript 是否有類似的函數?

Javascript 實作

是的,Javascript 中有一個等效的 zip 函數。它接受一個數組的數組作為其參數並傳回一個數組的數組,其中每個內部數組都包含輸入數組中的相應元素。例如,如果您有三個陣列:

const array1 = [1, 2, 3];
const array2 = ['a', 'b', 'c'];
const array3 = [4, 5, 6];
登入後複製

以下程式碼將建立一個對陣列:

const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
登入後複製

輸出陣列將為:

[[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
登入後複製

ES6 版本

在ES6中,你可以使用以下內容語法:

const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
登入後複製

附加功能

Javascript zip 函數可以修改為模仿 Python zip 函數及其擴充的行為。例如,您可以建立以下函數:

  • 假設陣列長度不等,並默默地忽略較長的陣列。
  • 為陣列中缺少的元素插入未定義的值。
  • 處理可迭代對象,例如字串和Ranges.

附錄:處理Iterables

要處理iterables,您可以定義一個iterView 函數,將iterable 轉換為等效的陣列。或者,您可以使用以下功能:

const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));
登入後複製

以上是JavaScript 中是否存在與 Python 的 zip 函數等效的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板