function calcDescartes (array) {
if (array.length < 2) return array[0] || [];
return [].reduce.call(array, function (col, set) {
var res = [];
col.forEach(function (c) {
set.forEach(function (s) {
var t = [].concat(Array.isArray(c) ? c : [c]);
t.push(s);
res.push(t);
})
});
return res;
});
}
console.log(calcDescartes([[1,2,3],['a','b','c']]));
JS 笛卡尔积 算法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本文转载自@陈铮半年前的博文,原文地址:JavaScript Array 原型方法 大盘点 数组是一个超常用的数据...
- 有个在上海工作的朋友来杭州玩,约一起吃饭。 到了饭点,他带来个妹子,介绍说是女朋友,杭州人。妹子长得算不上漂亮,但...