/**
* 生成笛卡尔积数据
* cartesianProductOf([arr1, arr2, arr3 ...])
*/
cartesianProductOf(arrays) {
if (!arrays.length) {
return []
}
return Array.prototype.reduce.call(arrays, (arr1, arr2) => {
var ret = []
arr1.forEach(v1 => {
arr2.forEach(v2 => {
ret.push(v1.concat([v2]))
})
})
return ret
}, [[]])
}
网友评论