抱歉,标题写得不好,但我要问的是:
假设你有这样的功能:
function cartesianProductOf() {
return Array.prototype.reduce.call(arguments, function(a, b) {
var ret = [];
a.forEach(function(a) {
b.forEach(function(b) {
ret.push(a.concat([b]));
});
});
return ret;
}, [[]]);
}这就是所谓的:
cartesianProductOf([1, 2, 3], [4], [5, 6], ['a','b']);我面临的问题是,我创建了一个动态数组,基本上我有一个数组,它包含应该发送给函数的参数,如下所示:
var sets = [[1, 2, 3], [4], [5, 6], ['a','b']];当然,现在的呼吁是:
cartesianProductOf(sets);都不管用。是的,我可以很容易地将cartesianProductOf()函数修改为这个函数(仅显示了重要的部分):
function cartesianProductOf() {
return Array.prototype.reduce.call(arguments[0], function(a, b) {但是,我想知道javascript中是否有一种使用cartesianProductOf变量调用sets的方法,而不必更改cartesianProductOf的代码来接受参数?同时,我也会很感激对更合适的标题的更改(因为我一直在搜索网站周围的关键词,而且显然这是错误的,因为我找不到任何相关的信息)。
发布于 2013-12-18 08:28:37
https://stackoverflow.com/questions/20030271
复制相似问题