vendor/assets/javascripts/precompiled/development/array.js in sugar-rails-1.3.6 vs vendor/assets/javascripts/precompiled/development/array.js in sugar-rails-1.3.7
- old
+ new
@@ -193,12 +193,15 @@
result = [],
max = which === 'max',
min = which === 'min',
isArray = Array.isArray(obj);
iterateOverObject(obj, function(key) {
- var el = obj[key];
- var test = transformArgument(el, map, obj, isArray ? [el, parseInt(key), obj] : []);
+ var el = obj[key],
+ test = transformArgument(el, map, obj, isArray ? [el, parseInt(key), obj] : []);
+ if(isUndefined(test)) {
+ throw new TypeError('Cannot compare with undefined');
+ }
if(test === edge) {
result.push(el);
} else if(isUndefined(edge) || (max && test > edge) || (min && test < edge)) {
result = [el];
edge = test;
@@ -320,11 +323,11 @@
try {
tmp = array.prototype.slice.call(a, 0);
if(tmp.length > 0) {
a = tmp;
}
- } catch(e) {}
+ } catch(e) {};
}
result = result.concat(a);
});
return result;
}
@@ -466,11 +469,11 @@
},
/***
* @method clone()
* @returns Array
- * @short Clones the array.
+ * @short Makes a shallow clone of the array.
* @example
*
* [1,2,3].clone() -> [1,2,3]
*
***/
@@ -1185,11 +1188,16 @@
return keysWithCoercion(obj).length;
}
});
+ var EnumerableFindingMethods = 'any,all,none,count,find,findAll,isEmpty'.split(',');
+ var EnumerableMappingMethods = 'sum,average,min,max,least,most'.split(',');
+ var EnumerableOtherMethods = 'map,reduce,size'.split(',');
+ var EnumerableMethods = EnumerableFindingMethods.concat(EnumerableMappingMethods).concat(EnumerableOtherMethods);
+
buildEnhancements();
buildAlphanumericSort();
- buildEnumerableMethods('any,all,none,count,find,findAll,isEmpty');
- buildEnumerableMethods('sum,average,min,max,least,most', true);
- buildObjectInstanceMethods('map,reduce,size', Hash);
+ buildEnumerableMethods(EnumerableFindingMethods);
+ buildEnumerableMethods(EnumerableMappingMethods, true);
+ buildObjectInstanceMethods(EnumerableOtherMethods, Hash);