ICC-Profile
view release on metacpan or search on metacpan
lib/ICC/Javascripts/rgraph/RGraph.common.core.js view on Meta::CPAN
/**
* Makes a clone of an object
*
* @param obj val The object to clone
*/
RG.arrayClone =
RG.array_clone = function (obj)
{
if(obj === null || typeof obj !== 'object') {
return obj;
}
var temp = [];
for (var i=0,len=obj.length;i<len; ++i) {
if (typeof obj[i] === 'number') {
temp[i] = (function (arg) {return Number(arg);})(obj[i]);
} else if (typeof obj[i] === 'string') {
temp[i] = (function (arg) {return String(arg);})(obj[i]);
} else if (typeof obj[i] === 'function') {
temp[i] = obj[i];
} else {
temp[i] = RG.arrayClone(obj[i]);
}
}
return temp;
};
/**
* Returns the maximum numeric value which is in an array. This function IS NOT
* recursive
*
* @param array arr The array (can also be a number, in which case it's returned as-is)
* @param int Whether to ignore signs (ie negative/positive)
* @return int The maximum value in the array
*/
RG.arrayMax =
RG.array_max = function (arr)
{
var max = null,
ma = Math
if (typeof arr === 'number') {
return arr;
}
if (RG.isNull(arr)) {
return 0;
}
for (var i=0,len=arr.length; i<len; ++i) {
if (typeof arr[i] === 'number' && !isNaN(arr[i])) {
var val = arguments[1] ? ma.abs(arr[i]) : arr[i];
if (typeof max === 'number') {
max = ma.max(max, val);
} else {
max = val;
}
}
}
return max;
};
/**
* Returns the minimum numeric value which is in an array
*
* @param array arr The array (can also be a number, in which case it's returned as-is)
* @param int Whether to ignore signs (ie negative/positive)
* @return int The minimum value in the array
*/
RG.arrayMin = function (arr)
{
var max = null,
min = null,
ma = Math;
if (typeof arr === 'number') {
return arr;
}
if (RG.isNull(arr)) {
return 0;
}
for (var i=0,len=arr.length; i<len; ++i) {
if (typeof arr[i] === 'number') {
var val = arguments[1] ? ma.abs(arr[i]) : arr[i];
if (typeof min === 'number') {
min = ma.min(min, val);
} else {
min = val;
}
}
}
return min;
};
/**
* Returns the maximum value which is in an array
*
( run in 1.551 second using v1.01-cache-2.11-cpan-5837b0d9d2c )