Pembolehubah JS dikosongkan - Limpahan Tindanan
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-07 09:24:10
0
2
603

Pembolehubah dalam kod telah dikosongkan secara tidak jelas, seperti yang ditunjukkan dalam rajah di bawah:

Kod adalah seperti berikut:

function rolldiceSumProb(arr, sides){

    let prob, result=[];
       
    let dig = function(target, count, methods) {

        if (count > sides) return false

        console.log('dig', target, count)

        for (let i=1; i<=6; i++) {

            console.log('target:', target, 'count:', count, 'cur_i:', i, target+i==arr, sides==count)

            if (target+i==arr && sides==count) {

                methods.push(i)
                result.push(methods)
                console.log(methods, result, 'quit')
                methods.pop()
                return false
            }
            else {

                methods.push(i)
                if (target+i < arr) dig(target+i, count+1, methods)
                methods.pop()
            }
        }

    }

    dig(0, 1, [])

    console.log('res', result)

    return prob;

}

rolldiceSumProb(11, 2)
曾经蜡笔没有小新
曾经蜡笔没有小新

membalas semua(2)
phpcn_u1582

methods 一直都是用的同一个……虽然它被添加到 result ada, tetapi ia hanyalah rujukan tambahan, bukan salinan Anda boleh menambah hasil yang disalin, seperti

result.push([...methods]);

Atau gunakan sintaks es5

result.push([].concat(methods));
某草草

Apa yang anda masukkan ke dalam hasil adalah rujukan kepada kaedah Jika anda mengosongkan kaedah, hasilnya secara semula jadi tidak mempunyai nilai Anda perlu menyalin kaedah dan memasukkannya ke dalam hasilnya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan