三个数组拼接问题
记录个小问题:
js按规则将三个数组合成一个二维数组?
var a1 = [1,2,3] ; var a2 = [4,5,6] ; var a3 = [7,8] ; //需要的结果: //[ [1,4,7],[1,4,8],[1,5,7],[1,5,8],[1,6,7],[1,6,8]... ] (共18个)
for循环实现:
var a1 = [1,2,3]; var a2 = [4,5,6]; var a3 = [7,8]; for(var i = 0; i < a1.length; i ++) { for(var j = 0; j < a2.length; j ++) { for(var k = 0; k < a3.length; k ++) { var arr = [a1[i],a2[j],a3[k]]; console.log(arr); } } }
恰巧刚看过 while 循环,再走一个:
var x = 0; var y = 0; var z = 0; while (a1[x]) { var arr = [a1[x], a2[y], a3[z]]; console.log(arr); z ++; if(!a3[z]){z = 0; y ++;} if(!a2[y]){y = 0; x ++;} }
^o^
再把 if 简化下:
if(!a3[z]) z = 0, y ++; if(!a2[y]) z = 0, x ++;
三目:
!a3[z] ? (z = 0) | (y ++) : '';
!a2[y] ? (y = 0) | (x ++) : '';
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步