TIL_210417
오늘 배운 것
sort()
parseFloat()
parseInt()
sort()
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()
규칙
- 수로 시작할 때 그 수를 실수로 바꾼다
- 띄어 쓰기로 여러 개의 수가 있으면 첫번째 수만 바꾼다
- 공백으로 시작하면 공백은 무시한다
- 수가 아닌 문자로 시작하면 NaN을 반환한다
예시
parseFloat( '12.34' ) // 12.34 (일반적인 경우)
parseFloat( ' 12.34' ) // 12.34 (앞에 공백이 있으면 씹는다)
parseFloat( '12.34 56.78' ) // 12.34 (여러 수가 있으면 첫번째만 바꾼다)
parseFloat( 'A 12.34' ) // NaN (문자로 시작하면 일을 안한다)
parseInt()
parseFloat()
와의 차이점
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 )
- string을 n진법일 때의 값으로 바꾼다
- n(진법)은 옵션으로 2부터 36까지 입력할 수 있다. 입력하지 않으면 10으로 처리된다
- string의 처리는 parseFloat()와 유사하다
- 소수 부분은 버린다
- 0x로 시작하면 16진법으로 처리한다
무언가 비슷하다?
십진법으로 사용하게 되면 Math.floor()
와 역할이 동일하다 (소수점 이하를 버리고 정수만 얻음)
Author And Source
이 문제에 관하여(TIL_210417), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ccrjun/TIL210417저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)