语法错误:意外令牌。在创建递归列表时

时间:2016-09-13 16:38:13

标签: javascript recursion

function createList(arr) {
     if(!arr.length){
         return {value:arr[0], rest: null};                                                                        
     }
     else {
         return {
             value: arr[0] ,
             rest: {
                 createList(arr.slice(1))
             }
         };
     }
 }

 console.log(arrayToList([1,2,3]));

我正在从雄辩的javascript练习中完成第4章,我似乎无法制作这个递归列表。它给我一个语法错误,方法“。”呼叫是一个意外的令牌

1 个答案:

答案 0 :(得分:4)

rest: {
    createList(arr.slice(1))
}

这被解释为一个对象,而不是一个块语句。它正在寻找key: value对,但它没有看到它。

尝试:

return {
    value: arr[0],
    rest: createList(arr.slice(1))
};