Rumah > Soal Jawab > teks badan
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)
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));
某草草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.