LinkedList Class
Doubly linked list for storing items. Supports iteration via LinkedListIterator (returned by this.iterator()) or Y.each(). Also supports all the other operations defined in gallery-funcprog.
Direct indexing into the list is not supported, as a reminder that it is an expensive operation. Instead, use find() with a function that checks the index.
Constructor
LinkedList
        - 
                        [list]
Parameters:
- 
                        [list]Mixed optionalany scalar or iterable list 
Item Index
Methods
append
        - 
                        value
Parameters:
- 
                        valueMixedvalue to append 
Returns:
appended item
clear
        ()
    
    Clear the list.
each
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list. The function receives the value, the index, and the list itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
every
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list. Iteration stops if the supplied function does not return a truthy value. The function receives the value, the index, and the list itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
true if every item in the array returns true from the supplied function, false otherwise
filter
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list. Returns a new list containing the items for which the supplied function returned a truthy value. The function receives the value, the index, and the object itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
list of items for which the supplied function returned a truthy value (empty if it never returned a truthy value)
find
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list, searching for the first item that matches the supplied function. The function receives the value, the index, and the object itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
the first item for which the supplied function returns true, or null if it never returns true
head
        ()
        
            LinkedListItem
        
    
    Returns:
the first item in the list, or null if the list is empty
indexOf
        - 
                        needle
Parameters:
- 
                        needleMixedthe item to search for 
Returns:
first index of the needle, or -1 if not found
insertAfter
        - 
                        item
- 
                        value
Parameters:
- 
                        itemLinkedListItemexisting item 
- 
                        valueMixedvalue to insert 
Returns:
inserted item
insertBefore
        - 
                        value
- 
                        item
Parameters:
- 
                        valueMixedvalue to insert 
- 
                        itemLinkedListItemexisting item 
Returns:
inserted item
isEmpty
        ()
        
            Boolean
        
    
    Returns:
true if the list is empty
lastIndexOf
        - 
                        needle
Parameters:
- 
                        needleMixedthe item to search for 
Returns:
last index of the needle, or -1 if not found
map
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list and returns a new list with the results. The function receives the value, the index, and the object itself as parameters (in that order).
Parameters:
- 
                        fStringthe function to invoke 
- 
                        cObjectoptional context object 
Returns:
list of all return values
partition
        - 
                        f
- 
                        c
Partitions an list into two new list, one with the items for which the supplied function returns true, and one with the items for which the function returns false. The function receives the value, the index, and the object itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
object with two properties: matches and rejects. Each is a list containing the items that were selected or rejected by the test function (or an empty object if none).
prepend
        - 
                        value
Parameters:
- 
                        valueMixedvalue to prepend 
Returns:
prepended item
reduce
        - 
                        init
- 
                        f
- 
                        c
Executes the supplied function on each item in the list, folding the list into a single value. The function receives the value returned by the previous iteration (or the initial value if this is the first iteration), the value being iterated, the index, and the list itself as parameters (in that order). The function must return the updated value.
Parameters:
- 
                        initMixedthe initial value 
- 
                        fStringthe function to invoke 
- 
                        cObjectoptional context object 
Returns:
final result from iteratively applying the given function to each item in the list
reject
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list. Returns a new list containing the items for which the supplied function returned a falsey value. The function receives the value, the index, and the object itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
array or object of items for which the supplied function returned a falsey value (empty if it never returned a falsey value)
remove
        ()
    
    Remove the item from the list.
reverse
        ()
    
    Reverses the items in place.
size
        ()
        
            Number
        
    
    Warning: This requires traversing the list! Use isEmpty() whenever possible.
Returns:
the number of items in the list
some
        - 
                        f
- 
                        c
Executes the supplied function on each item in the list. Iteration stops if the supplied function returns a truthy value. The function receives the value, the index, and the list itself as parameters (in that order).
Parameters:
- 
                        fFunctionthe function to execute on each item 
- 
                        cObjectoptional context object 
Returns:
true if the function returns a truthy value on any of the items in the array, false otherwise
tail
        ()
        
            LinkedListItem
        
    
    Returns:
the last item in the list, or null if the list is empty
