Hi,
Please follow following example to understand the problem.
<script>
function keySort(array, flag) {
var keys = new Array();
for(k in array) {
keys.push(k);
}
keys.sort( function (a, b) {
if (flag && flag != ‘undefined’) {
if(flag == ‘integer’) {
a = parseInt(a);
b = parseInt(b);
}
}
return (a > b) – (a < b);
} );
return keys;
}//End of function keySort
/*jsArray = new Array();
jsArray['A'] = ‘Test1′;
jsArray['Z'] = ‘Test3′;
jsArray['P'] = ‘Test4′;
jsArray['U'] = ‘Test2′;
jsArray['B'] = ‘Test5′;*/
jsArray = new Array();
jsKeyArray = new Array();
jsArray[80] = ‘nil1′;
jsArray[120] = ‘nil2′;
jsArray[160] = ‘nil3′;
for (x in jsArray) {
alert(x + ‘ –> ‘ + jsArray[x]);
}
jsKeyArray = keySort(jsArray);
/*for (x in jsKeyArray) {
alert(x + ‘ –> ‘ + jsKeyArray[x]);
}*/
//It will display wrong result….
for (var i = 0; i < jsKeyArray.length; i++) {
alert(jsKeyArray[i] + ‘ –> ‘ + jsArray[jsKeyArray[i]]);
}
jsKeyArray = keySort(jsArray, ‘integer’);
//correct result….
for (var i = 0; i < jsKeyArray.length; i++) {
alert(jsKeyArray[i] + ‘ (integer) –> ‘ + jsArray[jsKeyArray[i]]);
}
//——————————————————————–
//Value integer sorting…..
function sortASC(a, b){ return (a-b); }
function sortDESC(a, b){ return (b-a); }
integerArray = new Array(1,545,1435,3453,342,441,90);
integerArray.sort( sortASC );
document.write(‘ <br /> Ascending : ‘ + integerArray);
integerArray.sort( sortDESC );
document.write(‘ <br /> Descending : ‘ + integerArray );
</script>
Thanks,
Nilesh Prajapati


