2014-07-16 3 views
-1

왜이 순서는 연결 후 숫자 순으로 정렬되지 않습니까?Javascript sort() with concat()

var hege = [34, 12]; 
var stale = [1, 78, 8, 4]; 
var children = hege.concat(stale).sort(); //1,12,34,4,78,8 

http://jsfiddle.net/6kN5H/

+0

"기본 정렬 순서는 문자열 유니 코드 코드 포인트에 따릅니다." - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort – elclanrs

+0

그래서 숫자로 정렬해야합니까? – Squirrl

+0

-1 감사합니다. 사고 방식에 대한 나의 나쁜 점도 그 때문일 수 있습니다. 아무도 그 실수를하지 않았을 것입니다. – Squirrl

답변

1

.sort 방법 요소를 정렬 알파벳순

사용

.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 

+0

숫자로 정렬 할 수있는 방법이 있습니까? – Squirrl

+0

@Squirrl 예 업데이트 된 답변 확인 –

1

check this fiddle 우리가 숫자로 정렬 수 &에 각 값을 변환하는 다음이

hege.concat(stale).sort(function(a,b){return (+a)-(+b)}) 

을보십시오.

기본적으로 javascript sort는 문자열로 정렬하므로 정렬 방법을 지정해야합니다.