Why doesn't this sort in numeric order after concat?
var hege = [34, 12];
var stale = [1, 78, 8, 4];
var children = hege.concat(stale).sort(); //1,12,34,4,78,8
Why doesn't this sort in numeric order after concat?
var hege = [34, 12];
var stale = [1, 78, 8, 4];
var children = hege.concat(stale).sort(); //1,12,34,4,78,8
the .sort
method sorts elements alphabetically
use
.sort(function(a,b){return a - b})
var children = hege.concat(stale).sort(function(a,b){return a - b}); //1,4,8,12,34,78
Try this
hege.concat(stale).sort(function(a,b){return (+a)-(+b)})
Here we are converting each value in number & sorting as numbers.
Because by default javascript sort does ordering as string, you have to specify how you want to sort.
function myFunction() {
var hege = [34, 12];
var stale = [1, 78, 8, 4];
var children = hege.concat(stale).sort((hege, stale) => hege>stale);
document.getElementById("demo").innerHTML= children;
}
myFunction();