いくつかの作業コードが下部にあります。しかし、一番上にある私の不適切な適応コードは、無限再帰ループに入ります。配列についてわからないことは何ですか?
function recSubsets(soFar, rest)
{
if (rest===[]) console.log(soFar);
else
{
recSubsets(soFar.push(rest[0])), rest.slice(1));
recSubsets(soFar, rest.slice(1));
}
}
function listSubsets(s)
{
recSubsets([],s);
}
listSubsets([4,9,3,77])
以下は文字列の作業バージョンです
function recSubsets(soFar, rest)
{
if (rest==="") console.log(soFar);
else
{
recSubsets(soFar+rest[0], rest.substring(1));
recSubsets(soFar, rest.substring(1));
}
}
function listSubsets(s)
{
recSubsets("",s);
}
listSubsets("cat")
私に与えます:
猫 ca ct c at a t