MCPcopy Index your code
hub / github.com/angular-ui/ui-grid / isArrayLike

Function isArrayLike

lib/test/angular/1.5.0/angular.js:249–269  ·  view source on GitHub ↗

* @private * @param {*} obj * @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments, * String ...)

(obj)

Source from the content-addressed store, hash-verified

247 * String ...)
248 */
249function isArrayLike(obj) {
250
251 // `null`, `undefined` and `window` are not array-like
252 if (obj == null || isWindow(obj)) return false;
253
254 // arrays, strings and jQuery/jqLite objects are array like
255 // * jqLite is either the jQuery or jqLite constructor function
256 // * we have to check the existence of jqLite first as this method is called
257 // via the forEach method when constructing the jqLite object in the first place
258 if (isArray(obj) || isString(obj) || (jqLite && obj instanceof jqLite)) return true;
259
260 // Support: iOS 8.2 (not reproducible in simulator)
261 // "length" in obj used to prevent JIT error (gh-11508)
262 var length = "length" in Object(obj) && obj.length;
263
264 // NodeList objects (with `item` method) and
265 // other objects with suitable length characteristics are array-like
266 return isNumber(length) &&
267 (length >= 0 && ((length - 1) in obj || obj instanceof Array) || typeof obj.item == 'function');
268
269}
270
271/**
272 * @ngdoc function

Callers 7

forEachFunction · 0.70
$watchCollectionActionFunction · 0.70
filterFilterFunction · 0.70
orderByFilterFunction · 0.70
getOptionValuesKeysFunction · 0.70
angular.jsFile · 0.70

Calls 4

isWindowFunction · 0.70
isStringFunction · 0.70
isNumberFunction · 0.70
isArrayFunction · 0.50

Tested by

no test coverage detected