summaryrefslogtreecommitdiff
path: root/lib/internal/DoublyLinkedList.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/internal/DoublyLinkedList.js')
-rw-r--r--lib/internal/DoublyLinkedList.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/internal/DoublyLinkedList.js b/lib/internal/DoublyLinkedList.js
index 4444bcb..39f88ac 100644
--- a/lib/internal/DoublyLinkedList.js
+++ b/lib/internal/DoublyLinkedList.js
@@ -60,14 +60,16 @@ export default class DLL {
return this.tail && this.removeLink(this.tail);
}
- toArray () {
- var arr = Array(this.length);
- var curr = this.head;
- for(var idx = 0; idx < this.length; idx++) {
- arr[idx] = curr.data;
- curr = curr.next;
+ toArray() {
+ return [...this]
+ }
+
+ *[Symbol.iterator] () {
+ var cur = this.head
+ while (cur) {
+ yield cur.data
+ cur = cur.next
}
- return arr;
}
remove (testFn) {