# _.each and forEach in JS

## \_.each()

'\_.each()' is used to traverse/iterate through each element in a list.

## Install Underscore package for using `_.each`

```javascript
npm install underscore
```

## Importing in nodejs Package

```javascript
// npm install underscore
const _= require('underscore')
```

### Syntax

```javascript
_.each(listname, callbackFunc(){
// Callback Program
})
```

Example:

```javascript
var suspects = ['Miss Scarlet', 'Colonel Mustard', 'Mr. White']; 

var suspectsList = [];

_.each(suspects, function(name) {
suspectsList.push(name); 
});
```

Here \_.each will select individual items from suspects one by one and pass it to function with `name` as a parameter. Eg. `name` variable will contain each element of suspects object.

Note: use Each for traversing/iterating through the list. It's a lot easier compared to the traditional loops method.

## \_.each() / forEach DEFINED

```javascript
_.each(
    ['observatory','ballroom', 'library'],
    function(value, index, list){ ... }
);
['observatory','ballroom','library']
.forEach(function(value, index, list){...});
```

* Iterates over a list of elements, passing the values to a function.
    
* Each invocation of iterator, the function, is called with three arguments: (element, index, list). If the list is a JavaScript object, the iterator's arguments will be (value, key, list).
    

`_` of `_.each()` is a library

Example:

```javascript
var rooms = ['observatory','ballroom', 'library'];
var logger = function(val){
  console.log(val);
};

_.each(rooms, logger);
```

**Note**: Each function does not return anything

Slide: https://slides.com/bgando/f2f-final-day-1#/4/1

Github Example: https://github.com/zpratikpathak/Functional-JS/blob/main/foreach%26\_each.js
