How can I create every combination possible for the contents of two arrays?

前端 未结 10 1420
南旧
南旧 2020-11-27 20:44

I have two arrays:

var array1=[\"A\",\"B\",\"C\"];

var array2=[\"1\",\"2\",\"3\"];

How can I set another array to contain every combinatio

10条回答
  •  失恋的感觉
    2020-11-27 21:34

    Here is functional programming ES6 solution:

    var array1=["A","B","C"];
    var array2=["1","2","3"];
    
    var result = array1.reduce( (a, v) =>
        [...a, ...array2.map(x=>v+x)],
    []);
    /*---------OR--------------*/
    var result1 = array1.reduce( (a, v, i) =>
        a.concat(array2.map( w => v + w )),
    []);
    
    /*-------------OR(without arrow function)---------------*/
    var result2 = array1.reduce(function(a, v, i) {
        a = a.concat(array2.map(function(w){
          return v + w
        }));
        return a;
        },[]
    );
    
    console.log(result);
    console.log(result1);
    console.log(result2)

提交回复
热议问题