mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-07 20:59:08 +02:00
Merge pull request #1893 from mathiask88/updateOptimizations
Add some optimizations to often used functions
This commit is contained in:
commit
7735371f45
@ -11,24 +11,24 @@
|
|||||||
|
|
||||||
//-- Basic js utility methods
|
//-- Basic js utility methods
|
||||||
helpers.each = function(loopable, callback, self, reverse) {
|
helpers.each = function(loopable, callback, self, reverse) {
|
||||||
var additionalArgs = Array.prototype.slice.call(arguments, 3);
|
|
||||||
// Check to see if null or undefined firstly.
|
// Check to see if null or undefined firstly.
|
||||||
if (loopable) {
|
var i, len;
|
||||||
if (loopable.length === +loopable.length) {
|
if (helpers.isArray(loopable)) {
|
||||||
var i;
|
len = loopable.length;
|
||||||
if (reverse) {
|
if (reverse) {
|
||||||
for (i = loopable.length - 1; i >= 0; i--) {
|
for (i = len - 1; i >= 0; i--) {
|
||||||
callback.apply(self, [loopable[i], i].concat(additionalArgs));
|
callback.call(self, loopable[i], i);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = 0; i < loopable.length; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
callback.apply(self, [loopable[i], i].concat(additionalArgs));
|
callback.call(self, loopable[i], i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else if (typeof loopable === 'object') {
|
||||||
for (var item in loopable) {
|
var keys = Object.keys(loopable);
|
||||||
callback.apply(self, [loopable[item], item].concat(additionalArgs));
|
len = keys.length;
|
||||||
}
|
for (i = 0; i < len; i++) {
|
||||||
|
callback.call(self, loopable[keys[i]], keys[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -48,7 +48,12 @@
|
|||||||
return objClone;
|
return objClone;
|
||||||
};
|
};
|
||||||
helpers.extend = function(base) {
|
helpers.extend = function(base) {
|
||||||
helpers.each(Array.prototype.slice.call(arguments, 1), function(extensionObject) {
|
var len = arguments.length;
|
||||||
|
var additionalArgs = [];
|
||||||
|
for(var i = 1; i < len; i++) {
|
||||||
|
additionalArgs.push(arguments[i]);
|
||||||
|
}
|
||||||
|
helpers.each(additionalArgs, function(extensionObject) {
|
||||||
helpers.each(extensionObject, function(value, key) {
|
helpers.each(extensionObject, function(value, key) {
|
||||||
if (extensionObject.hasOwnProperty(key)) {
|
if (extensionObject.hasOwnProperty(key)) {
|
||||||
base[key] = value;
|
base[key] = value;
|
||||||
|
Loading…
Reference in New Issue
Block a user