cari

Rumah  >  Soal Jawab  >  teks badan

Pembolehubah JS dikosongkan - Limpahan Tindanan

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)
曾经蜡笔没有小新曾经蜡笔没有小新2762 hari yang lalu605

membalas semua(2)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-06-07 09:26:10

    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));

    balas
    0
  • 某草草

    某草草2017-06-07 09:26:10

    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.

    balas
    0
  • Batalbalas