# Some knowledge points of break

When it comes to break, we all know that break is often used in writing loops. Here is a summary of some knowledge about break.

#### 1. Traverse a large amount of data remember to use break to jump out of the loop

What do you mean? Simply put, when I have a thousand different disordered data arrays, I need to traverse them, but this data may be the first element or the last element.
Compare the following two pieces of code:
code 1:

```var result;
for(var i = 0; i < 1000; i++) {
//arr and value "need" are already known
if(arr[i] == value_need) {
result = arr[i];
}
}```

code 2:

```var result;
for(var i = 0; i < 1000; i++) {
//arr and value "need" are already known
if(arr[i] == value_need) {
result = arr[i];
break;
}
}```

The second one is better.

#### 2. break just jumps out of a loop

Don't get this wrong.

```var sum = 0;

for(var i = 0; i < 10; i++) {
for(var j = 0; j < 10; j++) {
if(j == 5) break;
sum++;
}
}

console.log('sum: ' + sum);    //sum: 50```

Do you see that i increases from 0 to 9, and j increases 5 times from 0 to 4 each time. A total of 50. If it can jump out of multiple loops, sum should be 5.

Now that I've said break, I'd like to say continue by the way.
code 1:

```var sum = 0;

for(var i = 0; i < 10; i++) {
if(i == 5) continue;
sum++;
}

console.log('sum: ' + sum);    //sum: 9```

code 2:

```var sum = 0;

for(var i = 0; i < 10; i++) {
for(var j = 0; j < 10; j++) {
if(i == 5 && j == 5) continue;
sum++;
}
}

console.log('sum: ' + sum);    //sum: 99```

See, that is to skip this cycle.

#### 3. Jump out of multiple loops

break and tag statements are needed to work. The syntax of a label statement is this: Label: statement.

```var sum = 0;

outState:
for(var i = 0; i < 10; i++) {
for(var j = 0; j < 10; j++) {
if(j == 5) break outState;
sum++;
}
}

console.log('sum: ' + sum);    //sum: 5```

See? If i execute it five times when i is 0, i will jump out of the whole double cycle.
Take a look at continue's:

```var sum = 0;

outState:
for(var i = 0; i < 10; i++) {
for(var j = 0; j < 10; j++) {
if(j == 5) continue outState;
sum++;
}
}

console.log('sum: ' + sum);    //sum: 50```

Every time j to 5, i don't do it. Go to the outer i loop. i go from 0 to 9, five times at a time, that's 50.

Posted by mimcris on Fri, 01 May 2020 04:45:52 -0700