/**
|
* @fileoverview Execute the provided callback once for each element present in the array(or Array-like object) in ascending order.
|
* @author NHN FE Development Lab <dl_javascript@nhn.com>
|
*/
|
|
'use strict';
|
|
/**
|
* Execute the provided callback once for each element present
|
* in the array(or Array-like object) in ascending order.
|
* If the callback function returns false, the loop will be stopped.
|
* Callback function(iteratee) is invoked with three arguments:
|
* 1) The value of the element
|
* 2) The index of the element
|
* 3) The array(or Array-like object) being traversed
|
* @param {Array|Arguments|NodeList} arr The array(or Array-like object) that will be traversed
|
* @param {function} iteratee Callback function
|
* @param {Object} [context] Context(this) of callback function
|
* @memberof module:collection
|
* @example
|
* // ES6
|
* import forEachArray from 'tui-code-snippet/collection/forEachArray';
|
*
|
* // CommonJS
|
* const forEachArray = require('tui-code-snippet/collection/forEachArray');
|
*
|
* let sum = 0;
|
*
|
* forEachArray([1,2,3], function(value){
|
* sum += value;
|
* });
|
* alert(sum); // 6
|
*/
|
function forEachArray(arr, iteratee, context) {
|
var index = 0;
|
var len = arr.length;
|
|
context = context || null;
|
|
for (; index < len; index += 1) {
|
if (iteratee.call(context, arr[index], index, arr) === false) {
|
break;
|
}
|
}
|
}
|
|
module.exports = forEachArray;
|