js实现二维数组的排列组合,js多维数组的排列组合算法
2018-06-22 16:43
阅读:4219
一段实用的js代码片段,特别适合使用在需要排列组合的前端页面。
如在编辑商品时,商品多规格组合成sku就可使用该js代码实现排列组合。
//二维数组排列组合 //eg:[[[x1],[x2]],[[y1],[y2]],[[z1],[z2]]]] function doExchange(doubleArrays){ var array = doubleArrays; var len = array.length; var results = []; var indexs = {}; function specialSort(start) { start++; if (start > len - 1) { return; } if (!indexs[start]) { indexs[start] = 0; } if (!(array[start] instanceof Array)) { array[start] = [array[start]]; } for (indexs[start] = 0; indexs[start] < array[start].length; indexs[start]++) { specialSort(start); if (start == len - 1) { var temp = []; for (var i = len - 1; i >= 0; i--) { if (!(array[start - i] instanceof Array)) { array[start - i] = [array[start - i]]; } temp.push(array[start - i][indexs[start - i]]); } results.push(temp); } } } specialSort(-1); return results; }
下一篇:js如何给iframe绑定事件
评论
亲,登录后才可以留言!