js求N个数组所有组合

js求N个数组所有组合

用递归的方式实现

// 实现多属性组合
      const getCombination = array => {
        let resultArr = [];
        array.forEach((arrItem) => {
          if (resultArr.length === 0) {
            let firstItem = [];
            arrItem.forEach(item => {
              firstItem.push([item]);
            })
            resultArr = firstItem
          } else {
            const emptyArray = [];
            resultArr.forEach((item) => {
              arrItem.forEach((value) => {
                emptyArray.push([...item, value])
              })
            })
            resultArr = emptyArray
          }
        });
        return resultArr;
      };
      // 调用上面的组合方法  arr是组合之前的数组例如[['32g','64g','128g'],['华为','小米','苹果','oppo'],['白色','黑色']]
      let end = getCombination(arr);
      console.log(end)

你可能感兴趣的:(js求N个数组所有组合)