wiki-archive/twiki/pub/TWiki/TWikiJavascripts/twikiArray.js

68 lines
1.8 KiB
JavaScript

/**
Array utility functions.
*/
twiki.Array = {
/**
Removes an object from an Array.
@param inArray : (required) Array to remove object from
@param inObject : (required) Object to remove from Array
*/
remove:function(inArray, inObject) {
if (!inArray || !inObject) return null;
for (i=0; i<inArray.length; i++) {
if (inObject == inArray[i]) {
inArray.splice(i, 1);
}
}
},
/**
Creates an Array from a list of function arguments.
@param inArguments : function arguments
@param inStartIndex : (optional) the starting index in the list of function arguments
@return A new Array with elements from the passed function arguments.
@use
The following code creates an Array of all arguments passed after inName:
<pre>
function releaseProps(inName) {
var properties = twiki.Array.convertArgumentsToArray(arguments, 1);
if (!properties) return;
_releaseProps(inName, properties);
}
</pre>
*/
convertArgumentsToArray:function(inArguments, inStartIndex) {
if (inArguments == undefined) return null;
var ilen = inArguments.length;
if (ilen == 0) return null;
var start = 0;
if (inStartIndex) {
if (isNaN(inStartIndex)) return null;
if (inStartIndex > ilen-1) return null;
start = inStartIndex;
}
var list = [];
for (var i = start; i < ilen; i++) {
list.push(inArguments[i]);
}
return list;
},
/**
Determine the index of the (first) occurrence of an object in an array.
@param inArray : (Array) array to search
@param inElement : (Object) the object to find
@return The index number; -1 if the object is not found; null if no valid Array has been passed.
*/
indexOf:function(inArray, inElement) {
if (!inArray || inArray.length == undefined) return null;
var i, ilen = inArray.length;
for (i=0; i<ilen; ++i) {
if (inArray[i] == inElement) return i;
}
return -1;
}
};