배열의 data type : object(객체);
배열의 마지막 값 출력 : 배열명[배열명.length-1]
배열의 값을 하나씩 출력 :
let fruitList = ['사과', '딸기', '포도', 배];
for (let fruitItem of fruitList) {
console.log(fruitItem);
}
push, pop, shift, unshift
--push(값1, 값2) : 배열 마지막 값 추가
--pop() : 배열 마지막 값 삭제.
! 여러 개 삭제하려면 splice 사용
let numberList = [1, 2, 3, 4, 5, 6, 7];
// 지울 갯수 설정
let elementsToDelete = 3;
// 삭제 시작 인덱스 계산
let startIndex = numberList.length - elementsToDelete;
// 요소 삭제
numberList.splice(startIndex ,elementsToDelete);
console.log(numberList);
--shift() : 배열 첫번째 값 삭제. 여러 개 삭제하려면 splice 사용.
--unshift(값1, 값2) : 배열 첫번째 값 추가.
| 특성 | slice | splice |
|---|---|---|
| 용도 | 배열의 일부를 추출하여 새로운 배열을 반환 | 배열에서 요소를 추가하거나 제거 |
| 원본 배열 | 원본 배열은 변경되지 않음 | 원본 배열이 변경됨 |
| 인수 | slice(startIndex, endIndex? start 포함, end 미포함) | `splice(start, deleteCount, item1, ...) |
let food = ['볶음밥', '짜장', '짬뽕', '탕수육', '볶음밥', '볶음밥'];
let indexList = []; // 인덱스 번호를 담을 배열 생성
let keyword = '볶음밥'; // 찾고자 하는 값
for (let i = 0; i < food.length; i++) {
if (food[i] === keyword) {
indexList.push(i); // i번째 index에 찾는 키워드가 있으면, index 번호를 저장
}
}
console.log(indexList);
! 특정 값을 포함한 모든 인덱스를 찾으려면, includes 사용
숫자를 입력 받는데, '그만'이라고 입력 시 게임 중단
-> prompt를 받을 때 +prompt로 형 변환 하면, if(prompt값 ==== '그만')이라고 값을 줄 때 '그만'을 NaN으로 인식
배열에서 끝에서 n번째 ~ 끝, 첫번째 ~ n 번째 삭제 :
for문으로 한 개씩 삭제는 비효율 적이므로, splice를 사용
이 때, 끝에서 n개 삭제할 때의 방법은 위 글의 splice 설명 참고
배열문에서 특정값을 가진 index 번호를 "모두" 출력 :
indexOf는 첫번째 index 번호만 출력. 모두 출력하려면 for문 사용
slice(2, 5)시, 2는 포함, 5는 미포함임. 케이크 자르는 모습 연상하여 암기