美文网首页
JS:数组排列组合

JS:数组排列组合

作者: limengzhe | 来源:发表于2021-11-02 18:07 被阅读0次

JS:数组排列组合

  1. 原数组

    const source = [
      ['black', 'white', 'red', 'blue'],
      ['128GB', '256GB', '512GB'],
      ['zhengzhou', 'shenzhen', 'vietnam'],
    ]
    
  2. 方法

    let temp = []
    let results = []
    
    function combine(arr, index = 0) {
      arr[index].forEach(item => {
        temp[index] = item
    
        index + 1 < arr.length
          ? combine(arr, index + 1)
          : results.push(temp.slice())
      })
    }
    
  3. 执行

    combine(source)
    
    console.log(results)
    
  4. 输出

    [
      [ 'black', '128GB', 'zhengzhou' ],
      [ 'black', '128GB', 'shenzhen' ],
      [ 'black', '128GB', 'vietnam' ],
      [ 'black', '256GB', 'zhengzhou' ],
      [ 'black', '256GB', 'shenzhen' ],
      [ 'black', '256GB', 'vietnam' ],
      [ 'black', '512GB', 'zhengzhou' ],
      [ 'black', '512GB', 'shenzhen' ],
      [ 'black', '512GB', 'vietnam' ],
      [ 'white', '128GB', 'zhengzhou' ],
      [ 'white', '128GB', 'shenzhen' ],
      [ 'white', '128GB', 'vietnam' ],
      [ 'white', '256GB', 'zhengzhou' ],
      [ 'white', '256GB', 'shenzhen' ],
      [ 'white', '256GB', 'vietnam' ],
      [ 'white', '512GB', 'zhengzhou' ],
      [ 'white', '512GB', 'shenzhen' ],
      [ 'white', '512GB', 'vietnam' ],
      [ 'red', '128GB', 'zhengzhou' ],
      [ 'red', '128GB', 'shenzhen' ],
      [ 'red', '128GB', 'vietnam' ],
      [ 'red', '256GB', 'zhengzhou' ],
      [ 'red', '256GB', 'shenzhen' ],
      [ 'red', '256GB', 'vietnam' ],
      [ 'red', '512GB', 'zhengzhou' ],
      [ 'red', '512GB', 'vietnam' ],
      [ 'blue', '128GB', 'zhengzhou' ],
      [ 'blue', '128GB', 'shenzhen' ],
      [ 'blue', '128GB', 'vietnam' ],
      [ 'blue', '256GB', 'zhengzhou' ],
      [ 'blue', '256GB', 'shenzhen' ],
      [ 'blue', '256GB', 'vietnam' ],
      [ 'blue', '512GB', 'zhengzhou' ],
      [ 'blue', '512GB', 'shenzhen' ],
      [ 'blue', '512GB', 'vietnam' ]
    ]
    

相关文章

  • JS:数组排列组合

    JS:数组排列组合 原数组const source = [ ['black', 'white', 'red', ...

  • reduce实现排列组合

    之前需求需要排列组合,然后参考这个链接后,发现了用js的高阶函数reduce去解决不定长二维数组的排列组合问题; ...

  • 整型数组排列组合输出最小值

    一、题目内容 题目描述 有一整型数组,现在进行全排列组合,获得排列组合后最小的一个数。 输入描述 第一行输入数组个...

  • 取出数组中所有排列组合(JS实现)

    先定义一个函数,用于从 指定数组 取出 指定数量 的所有排列组合情况。 原理如下 先取第一项的所有情况,得到一个数...

  • js 数组链接concat,和数组转字符串join,字符串转数

    js 数组链接用concat js 数组转成字符串 js 字符串转数组

  • js数组题目

    js面试题 js数组 一、按要求分割数组 将"js,数组,分类"字符串数组以/分割 for循环累加 join()把...

  • ARTS第六周

    Algorithm PermutationsPermutations II排列组合,给定唯一整型数组,返回所有排列...

  • js排列组合

  • 排列组合-js

    排列组合 数学相关知识:5分钟彻底了解排列组合 参考:程序员必备算法——排列组合 排列有序,组合无序 3选2 :排...

  • js 数组

    js 中数组的长度发生改变,数组就真的发生改变,快速清空数组就让数组长度为0js 数组的方法

网友评论

      本文标题:JS:数组排列组合

      本文链接:https://www.haomeiwen.com/subject/wxlfzltx.html