Javascript:如何将数组值作为参数传递给要使用function::arguments读取的函数
我承认,这个问题看起来很奇怪 我想计算javascript中数组数组的笛卡尔积 以下函数(从)为我执行此操作:Javascript:如何将数组值作为参数传递给要使用function::arguments读取的函数,javascript,Javascript,我承认,这个问题看起来很奇怪 我想计算javascript中数组数组的笛卡尔积 以下函数(从)为我执行此操作: function cartesianProductOf() { return Array.prototype.reduce.call(arguments, function(a, b) { var ret = []; a.forEach(function(a) { b.forEach(function(b) { ret.push(a.co
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;
}, [[]]);
}
但是,需要这样称呼它:
产品([1,2,3],[4],[5,6]);#=>[1,4,5],[1,4,6],[2,4,5],[2,4,6],[3,4,5],[3,4,6]。
但我有一个数组,数组的维数未知,下面的例子是:
var arrOfArr=[[1,2,3]、[4]、[5,6]代码>
当我事先不知道arrOfArr
中数组的nr时,如何将arrOfArr
的内容作为多个参数传递给函数Product
i、 e:产品(arrOfArr)显然不起作用 嗯,通常情况下,写下问题后你就知道答案;)<代码>cartesianProductOf.apply(null,arrOfArr)代码>产品(arrOfArr)
如果您做了正确的事情,减少了参数[0]
而不是参数,那么它将起作用。