Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b4b6b0c

Browse files
Use ES6 for...of loop for better code readability
Simplify contains() function
1 parent c7fca43 commit b4b6b0c

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

‎data-structures-in-javascript/tree.es6.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ class Tree {
3030
const queue = [this.root];
3131
while(queue.length) {
3232
const node = queue.shift();
33-
for(let i=0;i<node.children.length;i++) {
34-
if(node.children[i].data === data) {
35-
node.children.splice(i, 1);
33+
for(let [index,child]ofnode.children.entries()) {
34+
if(child.data === data) {
35+
node.children.splice(index, 1);
3636
} else {
37-
queue.push(node.children[i]);
37+
queue.push(child);
3838
}
3939
}
4040
}
4141
}
4242

4343
contains(data) {
44-
return this.findBFS(data) ? true : false;
44+
return !!this.findBFS(data);
4545
}
4646

4747
findBFS(data) {
@@ -51,8 +51,8 @@ class Tree {
5151
if(node.data === data) {
5252
return node;
5353
}
54-
for(leti=0;i<node.children.length;i++) {
55-
queue.push(node.children[i]);
54+
for(constchildofnode.children) {
55+
queue.push(child);
5656
}
5757
}
5858
return null;
@@ -63,16 +63,16 @@ class Tree {
6363
if(fn) {
6464
fn(node);
6565
}
66-
for(leti=0;i<node.children.length;i++) {
67-
this._preOrder(node.children[i], fn);
66+
for(constchildofnode.children) {
67+
this._preOrder(child, fn);
6868
}
6969
}
7070
}
7171

7272
_postOrder(node, fn) {
7373
if(node) {
74-
for(leti=0;i<node.children.length;i++) {
75-
this._postOrder(node.children[i], fn);
74+
for(constchildofnode.children) {
75+
this._postOrder(child, fn);
7676
}
7777
if(fn) {
7878
fn(node);
@@ -96,8 +96,8 @@ class Tree {
9696
if(fn) {
9797
fn(node);
9898
}
99-
for(leti=0;i<node.children.length;i++) {
100-
queue.push(node.children[i]);
99+
for(constchildofnode.children) {
100+
queue.push(child);
101101
}
102102
}
103103
}
@@ -115,8 +115,8 @@ class Tree {
115115
if(node === newline && queue.length) {
116116
queue.push(newline);
117117
}
118-
for(leti=0;i<node.children.length;i++) {
119-
queue.push(node.children[i]);
118+
for(constchildofnode.children) {
119+
queue.push(child);
120120
}
121121
}
122122
console.log(string.slice(0, -2).trim());
@@ -135,8 +135,8 @@ class Tree {
135135
if(node === newline && queue.length) {
136136
queue.push(newline);
137137
}
138-
for(leti=0;i<node.children.length;i++) {
139-
queue.push(node.children[i]);
138+
for(constchildofnode.children) {
139+
queue.push(child);
140140
}
141141
}
142142
console.log(string.trim());

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /