YUAN 2019-06-30
1 1 1 1 2 1 ... 输入 n ,输出数组 假设输入 3,输出数组 [[1],[1,1],[1,2,1]]
function triangle(num){ let arr = []; arr.push([1]); loop([1]); function loop(lastarr){ // 代码循环的部分 if(lastarr.length < num){ let newarr = []; newarr[0] = 1; // 头部是1 newarr[lastarr.length] = 1; // 尾部也是1 for(let i = 0; i < lastarr.length-1; i++){ newarr[i+1] = lastarr[i] + lastarr[i+1]; } arr.push(newarr); loop(newarr); } } return arr; } console.log(triangle(5));
如果是需要输入下面的结果
1 1 1 1 2 1 ... 输入 n ,输出数组 假设输入 3,输出数组 [1, 1, 1, 1, 2, 1]
只需要添加arr.push的时候添加扩展运算符(...)即可,这里只需要更改两个地方
1. arr.push([1]) 改成 arr.push(...[1]) 2. arr.push(newarr) 改成 arr.push(...newarr)