Advertisement
thetenfold

each() by JoeSimmons

Jan 8th, 2014
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function each(array, fn, oThis) {
  2.     'use strict';
  3.  
  4.     var name, i, len = array.length,
  5.         hasOwnProperty = Object.prototype.hasOwnProperty;
  6.         oThis = oThis || array;
  7.  
  8.     if ( hasOwnProperty.call(array, 'length') && hasOwnProperty.call(array, '0') ) {
  9.         // if it's array-like, iterate through its numerical keys
  10.         for (i = 0; i < len; i += 1) {
  11.             if (fn.call(oThis, array[i], i, array) === 'stop') {
  12.                 break;
  13.             }
  14.         }
  15.     } else if (typeof array === 'object') {
  16.         for (name in array) {
  17.             if ( hasOwnProperty.call(array, name) ) {
  18.                 if (fn.call(oThis, array[name], name, array) === 'stop') {
  19.                     break; // 2 if statements for readability
  20.                 }
  21.             }
  22.         }
  23.     }
  24.  
  25.     return array;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement