计算多规格商品sku--笛卡尔积

2022-01-18  本文已影响0人  变量只提升声明不提升赋值
    /**
     * 生成笛卡尔积数据
     * 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
      }, [[]])
    }
上一篇 下一篇

猜你喜欢

热点阅读