List data structures in JavaScript

前端 未结 3 1546
天涯浪人
天涯浪人 2020-11-30 14:57

In an exercise in the book Eloquent JavaScript I need to create a list data structure (as below) based on the array [1, 2, 3].

The tutorial JavaScript

3条回答
  •  感动是毒
    2020-11-30 15:23

    function arrayToList (arr) {
        var list = null;
        for (var i = arr.length - 1; i >= 0; i--) {
            list = {
                value: arr[i],
                rest: list
            };
        }
        return list;
    }
    
    function prepend (elem, list) {
        return {
            value: elem,
            rest: list
        };
    }
    
    function listToArray (list) {
        var arr = [];
        for (var node = list; node; node = node.rest) {
            arr.push(node.value);
        }
        return arr;
    }
    
    function nth(list, num) {
      if (!list) {
        return undefined;
        } else if (num === 0) {
            return list.value;
        } else {
            return nth(list.rest, num - 1);
        }
    }
    

提交回复
热议问题