DEV Community

Discussion on: Solving Pascal's Triangle in JavaScript

Collapse
 
chety profile image
Chety

Hi,
How about recursion? Below I am sharing my version

function pascalTriangle(level){
    if(level === 0){
        return [[1]]
    }
    const previousValue = pascalTriangle(level - 1); 
    const lastValOfPrevious =   previousValue[previousValue.length - 1]
    const currentValue =  lastValOfPrevious.reduce((acc,num,i) => {
        if(lastValOfPrevious[i + 1] != undefined){
            acc.push(lastValOfPrevious[i] + lastValOfPrevious[i + 1])
        }else{
            acc.push(1)
        }
        return acc;
    },[1]);
    const result = [...previousValue,currentValue]
    return result
}
Enter fullscreen mode Exit fullscreen mode