1 var isArrayLike = require('./isArrayLike'),
2 isString = require('./isString'),
3 keys = require('./keys'),
4 stringSize = require('./_stringSize');
7 * Gets the size of `collection` by returning its length for array-like
8 * values or the number of own enumerable properties for objects.
12 * @category Collection
13 * @param {Array|Object} collection The collection to inspect.
14 * @returns {number} Returns the collection size.
20 * _.size({ 'a': 1, 'b': 2 });
26 function size(collection) {
27 if (collection == null) {
30 if (isArrayLike(collection)) {
31 var result = collection.length;
32 return (result && isString(collection)) ? stringSize(collection) : result;
34 return keys(collection).length;
37 module.exports = size;