Array sort function behaves weird after the length of array grows bigger than 10.pasted code below
var keys = [
'CHECKSUMHASH',
'CUST_ID',
'EMAIL',
'TEST',
'INDUSTRY_TYPE_ID',
'REQUEST_TYPE',
'CHANNEL_ID',
'MOBILE_NO',
'ORDER_ID',
'payt_STATUS'
]
keys.sort(function(a,b){ return a.toLowerCase() > b.toLowerCase()})
outputs
[ 'CHANNEL_ID',
'CHECKSUMHASH',
'CUST_ID',
'EMAIL',
'INDUSTRY_TYPE_ID',
'MOBILE_NO',
'ORDER_ID',
'payt_STATUS',
'REQUEST_TYPE',
'TEST' ]
But adding one extra string to array and making length of array greater than 10 behaves weird.
var keys = [
'CHECKSUMHASH',
'CUST_ID',
'EMAIL',
'TEST',
'INDUSTRY_TYPE_ID',
'REQUEST_TYPE',
'CHANNEL_ID',
'MOBILE_NO',
'ORDER_ID',
'payt_STATUS',
'a'
]
keys.sort(function (a, b) {
return a.toLowerCase() > b.toLowerCase();
});
["REQUEST_TYPE", "a", "CHANNEL_ID", "CHECKSUMHASH", "CUST_ID", "EMAIL", "INDUSTRY_TYPE_ID", "MOBILE_NO", "ORDER_ID", "payt_STATUS", "TEST"]
i expect 'a' to come first than 'REQUEST_TYPE'. Please explain this behaviour.