首頁 > web前端 > js教程 > 如何在 JavaScript 中從多個陣列產生所有組合?

如何在 JavaScript 中從多個陣列產生所有組合?

Susan Sarandon
發布: 2024-12-01 14:03:11
原創
551 人瀏覽過

How to Generate All Combinations from Multiple Arrays in JavaScript?

在 JavaScript 中從多個陣列產生組合

在 JavaScript 中,從不同大小的陣列產生組合可能是一項複雜的任務。讓我們探索使用遞歸輔助函數的解決方案。

笛卡爾函數採用任意數量的陣列作為參數,並傳回所有可能組合的陣列。它使用遞歸輔助函數 helper,它迭代數組中的每個元素並將其推送到當前組合的克隆版本。如果目前陣列不是最後一個,它會遞歸呼叫 helper 來產生剩餘陣列的所有組合。

笛卡爾函數可以如下使用:

cartesian([0,1], [0,1,2,3], [0,1,2]);
登入後複製

這將產生所需的組合:

[0,0,0], [0,0,1], [0,0,2], [0,1,0], [0,1,1], [0,1,2], [0,2,0], [0,2,1], [0,2,2]
登入後複製

用法

將此解決方案與一系列數組,只需將數組作為單一參數傳遞給笛卡爾函數即可。輔助函數將自動迭代巢狀數組以產生所有可能的組合。

範例

var data = [[0,1], [0,1,2,3], [0,1,2]];
var combinations = cartesian(data);
登入後複製

以上是如何在 JavaScript 中從多個陣列產生所有組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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