JSFiddle - React, Tailwind, and code Playground
by blesh
JavaScript
console.clear();
function LinkedList() {
var self = this,
head, base,
current;
self.add = function (value) {
var item = {
value: value
};
if (current) {
item.prev = current;
if (current.next) {
item.next = current.next;
item.next.prev = item;
}
current.next = item;
} else {
base = item
}
if (!item.next) {
head = item;
}
current = item;
};
self.base = function () {
current = base;
return self.current();
};
self.head = function () {
current = head;
return self.current();
};
self.current = function () {
return current ? current.value : undefined
};
self.next = function () {
current = current.next;
return self.current();
};
self.prev = function () {
current = current.prev;
return self.current();
};
}
var start = null,
iterations = 8000000,
i, item;
(function () {
var ll = new LinkedList(),
start = +new Date();
for (i = 0; i < iterations; i++) {
ll.add('test' + i);
}
for (item = ll.base(); item; item = ll.next()) {
//stuff
}
console.log((+new Date()) - start);
}());
(function () {
var arr = [];
start = +new Date();
for (i = 0; i < iterations; i++) {
arr.push('test' + i);
}
for (i = 0; i < arr.length; i++) {
item = arr[i];
//stuff
}
console.log((+new Date()) - start);
}());