函數「subset」告訴我「最大」是未定義的。如何在函數中傳遞給函數的變量未定義?
這是怎麼回事?
function ArrayAdditionI(arr)
{
arr.sort();
var largest = arr.pop()
console.log(largest);
subset([], arr, largest);
}
function subset(soFar, rest, largest)
{
var sum = 0;
if (rest.length === 0)
{
for(var i=0; i<soFar.length; i++)
{
sum+= soFar[i];
}
console.log("sum = "+ sum + " " + largest);
if (sum === largest) return true;
}
else
{
var soFar2 = soFar.slice(0);
soFar2.push(rest[0]);
subset(soFar,rest.slice(1));
subset(soFar2, rest.slice(1));
}
}
ArrayAdditionI([85,3,88,2])
或者,而不是'undefined'。 – Marcin
第4行是做什麼的? – dwilbank
@dwilbank查看下一個答案。 –