编辑代码

function getComputedExpression(sum, type) {
    let res = []
    function dfs(sum, nums) {
        if(sum === 0) {
            res.push([...nums])  // 解构展开放入res数组
            return
        }
        for(let i = 1; i <= sum; i ++) {
            if(sum >= i) {
                nums.push(i)  // 回溯
                dfs(sum - i, nums)
                nums.pop()
            }
        }
    }
    dfs(sum, [])
    if(type === 1) {
        let set = new Set()  // 去除重复数组 
        for(let item of res) {
            set.add(item.sort((a,b) => a-b).join("+"))
        }
        return [...set]
    }
    
    return res.map(item => item.join("+"))
}

console.log(getComputedExpression(5, 1))
console.log(getComputedExpression(5, 2))