프로그래머스 코딩테스트 입문
배열 뒤집기
문자열 안에 문자열
JS 핸드북
part 02. 조건문
part 03. 배열과 반복문
function solution(num_list) {
var answer = [];
var j = num_list.length
for(var i = 1; i <= j; i++){
answer.push(num_list[j-i])
}
return answer;
}
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2;
}
[복습]
리스트 = 배열 = arr = []
배열은 순서가 있는 자료를 저장하는 용도로 만들어진 특수한 자료구조
for..of 반복문은 배열의 요소를 대상으로 반복 작업할 때
딕셔너리 = 객체 = 키 : 밸류 = {}
임의의 키를 사용해야 한다면 배열보단 일반 객체 {}가 적합한 자료구조
for..in 반복문은 배열이 아니라 객체와 함께 사용할 때 최적화
== 타입 안 본다
=== 타입 본다
= 할당 연산자는 순위가 낮은 편, 거의 마지막 값
let age = prompt('나이를 입력해주세요.', 18);
let message = (age < 3) ? '아기야 안녕?' :
(age < 18) ? '안녕!' :
(age < 100) ? '환영합니다!' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert( message );
예시문. 나였으면 중간 else if 에 && 값을 덕지덕지 붙였을 것 같다. 순서대로 값 처리할 때 더 폭 넓게 생각해보기.
[배열과 매서드]
매서드를 적용하는 과정에서 멈칫거리는 것 같다. 예시문을 더 많이 보고 빠르게 적용할 수 있게 노력하기
요소를 더하거나 지우기
push(...items) – 맨 끝에 요소 추가하기
pop() – 맨 끝 요소 추출하기
shift() – 첫 요소 추출하기
unshift(...items) – 맨 앞에 요소 추가하기
splice(pos, deleteCount, ...items) – pos부터 deleteCount개의 요소를 지우고, items 추가하기
slice(start, end) – start부터 end 바로 앞까지의 요소를 복사해 새로운 배열을 만듦
concat(...items) – 배열의 모든 요소를 복사하고 items를 추가해 새로운 배열을 만든 후 이를 반환함. items가 배열이면 이 배열의 인수를 기존 배열에 더해줌
원하는 요소 찾기
indexOf/lastIndexOf(item, pos) – pos부터 원하는 item을 찾음. 찾게 되면 해당 요소의 인덱스를, 아니면 -1을 반환함
includes(value) – 배열에 value가 있으면 true를, 그렇지 않으면 false를 반환함
find/filter(func) – func의 반환 값을 true로 만드는 첫 번째/전체 요소를 반환함
findIndex는 find와 유사함. 다만 요소 대신 인덱스를 반환함
배열 전체 순회하기
forEach(func) – 모든 요소에 func을 호출함. 결과는 반환되지 않음
배열 변형하기
map(func) – 모든 요소에 func을 호출하고, 반환된 결과를 가지고 새로운 배열을 만듦
sort(func) – 배열을 정렬하고 정렬된 배열을 반환함
reverse() – 배열을 뒤집어 반환함
split/join – 문자열을 배열로, 배열을 문자열로 변환함
reduce(func, initial) – 요소를 차례로 돌면서 func을 호출함. 반환값은 다음 함수 호출에 전달함. 최종적으로 하나의 값이 도출됨
기타
Array.isArray(arr) – arr이 배열인지 여부를 판단함
[반복문]
for (begin; condition; step) {
// ... 반복문 본문 ...
}