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)