Javascript:如何将数组值作为参数传递给要使用function::arguments读取的函数

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

我承认,这个问题看起来很奇怪

我想计算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.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]
而不是
参数,那么它将起作用。