Skip to content

rad12000/linked-nodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linked-nodes

Description

Requires node version >= 14.x. The linked-nodes package brings simple linked list/enumerable features to JavaScript.

Constructing

Description

There are several ways to create a linked node. Below details a few.

Provide LinkedNode.value and LinkedNode.next via ctor

const LinkedNode = require("linked-nodes");

// Creates a node and gives it a value.
const childNode = new LinkedNode("child node value");

// Creates a node with a value and the next node.
const parentNode = new LinkedNode("parent node value", childNode);

Provide LinkedNode.value and assign LinkedNode.next later

const LinkedNode = require("linked-nodes");

// Creates a node and gives it a value.
const parentNode = new LinkedNode("parent node value");
parentNode.next = new LinkedNode("next node value");

Provide LinkedNode.value later

const LinkedNode = require("linked-nodes");

// Creates a node
const parentNode = new LinkedNode();
parentNode.value = "some node value";

Properties

next - write only

Description

Used to assign the next LinkedNode in the link.

size - read only

Description

Contains the number of nodes in the link.

value - read & write

Description

Contains the value of the current node. Also sets the value of the current node.

Methods

Static Methods

LinkedNode.fromArray(myArray)

Description

Creates a new linked node from the provided array.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);

console.log(lNodes.value); // Output: 1.

lNodes.moveNext();

console.log(lNodes.valye); // Ouput: 2.
// etc...

Instance Methods

LinkedNode.moveNext()

Description

Advances the current LinkedNode.value to the next node, if applicable. Returns true if the current node's next property is not null, otherwise returns false.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);

do {
    console.log(lNodes.value);
} while (lNodes.moveNext());

/*
Output:
1
2
3
4
5
*/

LinkedNode.movePrevious()

Description

Advances the current LinkedNode.value to the previous node, if applicable. Returns true if the current node's next property is not null, otherwise returns false.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);

// Move to the end of the linkedNodes
do {} while (lNodes.moveNext());

do {
    console.log(lNodes.value);
} while (lNodes.movePrevious());
/*
Output:
5
4
3
2
1
*/

LinkedNode.forEach((nodeValue) => {})

Description

Iterates through each of nodes associated with the LinkedNode instance being used. This does not affect the current node or value. To change those, use moveNext() or movePrevious()

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);

const outputArr = [];
lNodes.forEach((val) => {
    ouputArr.push(val);
});

console.log(outputArr);
/*
Output:
[1, 2, 3, 4, 5]
*/

LinkedNode.where((nodeValue) => condition)

Description

Returns a linked node with next of all nodes meeting the provided condition.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);
const filteredNodes = lNodes.where((val) => val > 2);

console.log(outputArr.toArray());
/*
Output:
[3, 4, 5]
*/

LinkedNode.toArray()

Description

Converts the node to an array.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);
const nodesToArray = lNodes.toArray();

console.log(nodesToArray);
/*
Output:
[1, 2, 3, 4, 5]
*/

LinkedNode.add(myValue)

Description

Creates a new LinkedNode and adds it to the end of the link.

Usage

const LinkedNode = require("linked-nodes");

const myArray = [1, 2, 3, 4, 5];
const lNodes = LinkedNode.fromArray(myArray);

// Add a LinkedNode witht the value of 6.
lNodes.add(6);

console.log(lNodes.toArray());
/*
Output:
[1, 2, 3, 4, 5, 6]
*/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published