Example of how to exit the loop in Array.forEach in js

Example of how to exit the loop in Array.forEach in js

forEach() Method

Syntax: array.forEach(callback(currentvalue,index,arr),thisValue)

in

callback is a function executed for each element in the array, which can accept 1-3 parameters:

  • The currentvalue parameter represents the current element of the array, a required parameter
  • The index parameter represents the current element index, optional parameter
  • The arr parameter indicates the array to which the current element belongs. It is an optional parameter.

thisValue represents the this point when the callback function callback() is executed. Optional parameter. When not written, the default is to point to the window global

Example

    var arr = [1, 3, 5, 13, 2];
    var res = arr.forEach(function(item,index) {
        console.log(`The ${index+1}th element of the array is ${item}`);
    })
    console.log(res); //The return value of forEach is undefined,

Running results:

How to jump out of the loop in Array.forEach in js

forEach cannot jump out of the loop through break or return. The general way to jump out of the loop is to throw an exception:

 try {
   let array = [1, 2, 3, 4]
   array.forEach((item, index) => {
     if (item === 3) {
       throw new Error('end')//If an error occurs, the loop will be exited} else {
       console.log(item)
     }
   })
 } catch (e) {
 }

This way of writing is actually very troublesome.

Solution:

1. Use every instead:

let array = [1, 2, 3, 4]
array.every((item, index) => {
  if (item === 3) {
    return true
  } else {
    console.log(item)
  }
})

2. Write one yourself 😁

//Array traversal that can jump out of the loop Array.prototype.loop = function(cbk) {
  //Judge whether the current array is empty if (this?.length) {
    for (let i = 0; i < this.length; i++) {
      let stop = cbk(this[i], i, this)
      //Judge whether to stop the loop if (stop) {
        break
      }
    }
  }
}


let array = [1, 2, 3, 4]
array.loop ((item, index) => {
  if (item === 3) {
    return true
  } else {
    console.log(item)
  }
})

Summarize

This is the end of this article about Array.forEach jumping out of the loop in js. For more relevant content about Array.forEach jumping out of the loop in js, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of JavaScript Array.reduce source code
  • JavaScript Array.flat() function usage analysis
  • JavaScript Array.prototype.slice usage instructions
  • JavaScript mapper array.flatMap()

<<:  Vue implements form data validation example code

>>:  Detailed explanation of the principles and usage examples of MySQL join query, union query, and subquery

Recommend

An example of using CSS methodologies to achieve modularity

1. What are CSS methodologies? CSS methodologies ...

Mini Program implements list countdown function

This article example shares the specific code for...

Introduction to CSS style classification (basic knowledge)

Classification of CSS styles 1. Internal style --...

Several magical uses of JS ES6 spread operator

Table of contents 1. Add attributes 2. Merge mult...

Learn SQL query execution order from scratch

The SQL query statement execution order is as fol...

JavaScript modularity explained

Table of contents Preface: 1. Concept 2. The bene...

Detailed explanation of using Nginx reverse proxy to solve cross-domain problems

question In the previous article about cross-doma...

How to use css overflow: hidden (overflow hiding and clearing floats)

Overflow Hide It means hiding text or image infor...

Implement a simple search engine based on MySQL

Table of contents Implementing a search engine ba...

Steps to install MySQL 5.7 in binary mode and optimize the system under Linux

This article mainly introduces the installation/st...

Several solutions for CSS record text icon alignment

It is very common to see images and text displaye...