Functions for Array
Sort array
function realSort (x, y) { if (x < y) { return -1; } if (x > y) { return 1; } return 0; } with (app) { var myArray = [14, 52, 3, 14, 45, 36]; myArray.sort(realSort); alert(myArray); }
Sorting two arrays according to one
Remove duplicates from array
function removeDups (sourceArray) { var tmpArray = new Array; var a; tmpArray.push (sourceArray.pop().name); while (sourceArray.length) { var nextVal = sourceArray.pop().name; for (a=0; a<= tmpArray[a]) { if (nextVal < tmpArray[a]) { tmpArray.splice(a,0, nextVal); } break; } } if (a == tmpArray.length) tmpArray.push (nextVal); } return tmpArray; }
Sort array removing duplicates
//~ var array = [12,45,68,79,11,32,11,45,99]; var array = ["Kasyan", "Julia", "Alex", "Kasyan", "Dan", "Patric"]; SortArrayRemovingDuplicates(array); function SortArrayRemovingDuplicates(array) { var str = array.sort (sortnum).join ('\r')+'\r'; str = str.replace (/([^\r]+\r)(\1)+/g,'$1'); str = str.replace (/\r$/,''); str = str.split ('\r'); return str } function sortnum (a, b) { return a > b }
Get array index
function GetArrayIndex(arr, val) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) { return i; } } return -1; }
Array.prototype.contains
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--) {
if (this[i] === obj) {
return true;
}
}
return false;
}
Array.prototype.unique
Array.prototype.unique = function() { var a = this.concat(); for(var i=0; i < a.length; ++i) { for(var j=i+1; j < a.length; ++j) { if(a[i] === a[j]) a.splice(j, 1); } } return a; }; var array1 = ['a','b','c','d']; var array2 = ['c','d','e','f']; var array3 = array1.concat(array2).unique(); alert(array3);
Array.prototype.compare
Array.prototype.compare = function(array) { var len = this.length; if (len != array.length) return false; while (len-->0) if (this[len] != array[len]) return false; return true; } a = [0,100,0,0]; b = [0,100,0,0]; a.compare(b) // true
See also tips on using arrays