sort()
parseFloat()
parseInt()
sort()
이걸 왜 이제야 찾아봤나 싶다. 공부 참 띄엄띄엄 했네
아무튼 자바스크립트 배열의 내장 함수에 sort()
가 있다. 이름에서 예상할 수 있듯, 요소들을 정렬한다.
let string = ['three', 'one', 'eleven']
string.sort(); // 'one', 'three', 'eleven'
일반적인 방법으로 사용하면 글자 수에 따라 정렬된다.
let number = [4, 11, 2, 10, 3, 1]
number.sort(); // 1, 10, 11, 2, 3, 4
아스키 문자 순서로 정렬되기 때문에 우리가 생각하는 대로 정렬되지 않는다. 자바스크립트는 역시 근본이 없다
// 오름차순 정렬
number.sort(function(a, b){
return a - b;
}) // 1, 2, 3, 4, 10, 11
// 내림차순 정렬
number.sort(function(a, b){
return b - a;
}) // 11, 10, 4, 3, 2, 1
다음 ES에는 직접 함수 안 써도 되게 바뀌었으면 ...
parseFloat( '12.34' ) // 12.34 (일반적인 경우)
parseFloat( ' 12.34' ) // 12.34 (앞에 공백이 있으면 씹는다)
parseFloat( '12.34 56.78' ) // 12.34 (여러 수가 있으면 첫번째만 바꾼다)
parseFloat( 'A 12.34' ) // NaN (문자로 시작하면 일을 안한다)
parseFloat()
와의 차이점parseFloat()
는 문자열을 실수로 바꾸는 역할이고
parseInt()
는 문자열을 정수로 바꾸는 역할이다
parseInt( string, n )
십진법으로 사용하게 되면 Math.floor()
와 역할이 동일하다 (소수점 이하를 버리고 정수만 얻음)