var arr3 = []; var arr1 = [['a1','a2', 'a3'],['b1','b2'], ['c1', 'c2', 'c3']]; /* 思路 * 将 arr1[0] 和 arr1[1] 合并 然后保存到 arr3 上作为临时变量 * 再将 arr3 替换 arr1[0] arr1[1] =>( arr1 前面两个二维数组替换成 合并到数组) * 再将 arr3 初始化 空数组 * 然后再对 arr1 进行判断,如果大于一个二维数组则再进行递归 */ function add() { arr1[0].forEach(item1 => { return arr1[1].forEach(item2 => { arr3.push(`${item1}${item2}`) }); }); arr1 = arr1.slice(2) arr1.unshift(arr3); arr3 = [] if(arr1.length > 1) { add() } } add() console.log(arr1)
后续优化自己研究