반복문 문제 중 체크
- 빈 문자열의 길이 : str.length === 0;
- 문자열은 불변 ( 순서를 바꾸거나 변환 불가 )
- 참조자료형인 String 타입은 주소만 가리키고 있기 때문에 통째로 바꿀 수는 있지만 (재할당) 세부요소만 바꾸지는 못함
- 또한, String 타입을 재할당하는 것은 원래 주소를 바꾸는 것이 아니라 새로운 주소를 할당하고 원래의 주소도 지우지 않기 때문에 비효율적이다. - 소수를 구하는 알고리즘 : 제곱근 까지만 보면 된다. ( ex. 17이라면 4.xx이기 때문에 4까지만 반복문을 돌려보면 된다.
- 아래 코드 중 12, 13번째 줄 확인
function listPrimes(num) {
// 결과를 저장할 문자열 변수, 가장 작은 소수가 2기 때문에 2로 초기화
let result = '2';
// 3부터 num 까지 반복하고, 짝수는 소수가 될 수 없기 때문에 홀수들만 돌린다.
// **** 2는 소수이기 때문에 체크했는지 확인
for(let i = 3; i <= num; i += 2) {
// 현재 검사할 숫자 i를 currentSelectedNumber로 설정
let currentSelectedNumber = i;
// 현재 숫자의 제곱근을 계산하고 정수로 변환 (소수 여부를 확인할 때 최적화 용도)
let sqrt = parseInt(Math.sqrt(currentSelectedNumber));
// 소수 여부를 판단하는 변수, 기본값을 true로 설정
let isPrime = true;
// 2부터 현재 숫자의 제곱근까지 나누어 떨어지는지 확인
for(let divider = 2; divider <= sqrt; divider++) {
// 만약 현재 숫자가 나누어 떨어지면 소수가 아님
if(currentSelectedNumber % divider === 0) {
isPrime = false; // 소수가 아님을 표시
break; // 더 이상 확인할 필요가 없으므로 반복문 종료
}
}
// 만약 소수라면 결과 문자열에 '-'를 붙이고 현재 숫자를 추가
if(isPrime) {
result += '-' + currentSelectedNumber;
}
}
// 모든 소수를 포함한 결과 문자열 반환
return result;
}
- return 값에 조건식이 들어가면 참거짓 판별해서 true 또는 false 로 return
- str.slice(a, b); : index a번부터 b앞까지 자른다.
str.slice(a) : a번부터 끝까지
함수선언문과 함수표현식
- 함수표현식은 javascript에만 있음.
// 함수선언문으로 정의한 함수
function greeting () {
console.log('hello world')
};
greeting();
// 함수표현식으로 정의한 함수
// 함수를 변수에 할당하는 방식
let greeting = function () {
console.log('hello world')
};
argument ( 매개변수 ) 와 parameter ( 전달인자 )
- 매개변수 : 외부에서 입력되는 값 ( 함수 정의 시 )
- 전달인자 : 함수로 전달하는 값 ( 함수 호출 시 )
배열
배열에서 사용할 수 있는 메서드
배열 생성 및 확인
- Array.isArray(): 주어진 값이 배열인지 확인해서 배열이면 true, 아니면 false를 반환
- push(): 배열의 끝에 하나 이상의 요소를 추가하고 새로운 길이를 반환
- unshift(): 배열의 시작 부분에 하나 이상의 요소를 추가하고 새로운 길이를 반환
- pop(): 배열의 마지막 요소를 제거하고 그 요소를 반환합니다. 원본 배열 변경
- shift(): 배열의 첫 번째 요소를 제거하고 그 요소를 반환합니다. 원본 배열 변경
배열 검색
- indexOf(): 특정 요소가 배열에서 처음 나타나는 인덱스를 반환합니다. 요소가 없으면 -1을 반환
- includes(): 특정 요소가 배열에 존재하는지 여부를 확인하여 true 또는 false를 반환합니다.
배열 변형
- slice(): 배열의 일부분을 추출하여 새로운 배열로 반환합니다. 원본 배열은 변경되지 않는다
- splice(): 배열의 특정 위치에서 요소를 제거하거나 추가합니다. 원본 배열 변경
- map( a => b ) : a 를 b 로 바꿔서 새로운 배열 반환
문자열과 배열 반환
- split(): 문자열을 특정 구분자로 나누어 배열로 반환
- join(): 배열의 모든 요소를 문자열로 결합하여 반환
문자열과 배열 반환
- concat(): 배열을 합쳐서 새로운 배열 반환
'공부기록 > JavaScript' 카테고리의 다른 글
#8일차 [JavaScript] 객체, 핵심 개념과 주요 문법 ( 원시 자료형과 참조 자료형, 스코프, 클로저 ) (0) | 2024.11.15 |
---|---|
#7일차 [JavaScript] 배열, 객체 (0) | 2024.11.14 |
#5일차 [JavaScript] 반복문 개념, 문제 (0) | 2024.11.12 |
#4일차 [JavaScript] 조건문 (0) | 2024.11.11 |
#3일차 [JavaScript] 기초 (0) | 2024.11.08 |