let myArray = [19, 44, 'good', 'false']
//여기서 19는 0번 index
// false는 3번 index
console.log(myArray[1])
//결과값 : 44
예시1)
let myArray = [19, 44, 'good', [100, 200, 500], false]
console.log(myArray[3])
//결과값 : [100, 200, 500]
let myArray = [19, 44, 'good', [100, 200, 500], false]
console.log(myArray[3][0])
//결과값 : 100
예시2)
let myArray = [19, 44, 'good', [100, 200, 500], false]
console.log(myArray[5-1])
console.log(myArray[myArray.length-1])
//두 결과값 모두 false가 나온다.
//두번째 콘솔로그를 통해서는 해당 배열의 가장 마지막 요소를 출력할 수 있다.
let myArray = [19, 44, 'good', 'false']
myArray[0] = 500
console.log(myArray);
//결과값 : [500, 44, 'good', 'false']
let myArray = [19, 44, 'good', 'false']
console.log(myArray.length);
//결과값 : 4
myArray.push('Kiwi')
console.log(myArray);
//결과값 : myArray = [19, 44, 'good', 'false', 'Kiwi']
a) pop 예시
let myArray = [19, 44, 'good', 'false']
myArray.pop()
console.log(myArray);
//결과값 : [19, 44, 'good']
b) shift 예시
let myArray = [19, 44, 'good', 'false']
myArray.shift()
console.log(myArray);
//결과값 : [44, 'good', 'false']
c) slice 예시
시작 인덱스는 포함하지만, 끝 인덱스는 포함하지 않는다.
또한 index 시작과 끝을 셀 경우 좌에서 우는 0에서 시작하는 + 정수를 뜻하지만 마이너스(-)인덱스 값은 끝에서부터 -1이 시작된다. (사진참고)
기본형태)
slice (배열의 index의 시작점, 끝점)
// 단, 시작 index는 포함하되, 끝 index는 포함하지 않는다.
let nums = [1,2,3,4,5]
let nums_new = nums.slice(1,4)
console.log(nums) // [ 1, 2, 3, 4, 5 ]
console.log(nums_new) // [ 2, 3, 4 ]
d) splice 예시
기본형태)
splice (start, delete, item)
// 첫번째 인자 : 배열의 index의 시작점
// 두번째 인자 : 삭제할 요소의 개수
// 세번째 인자 이후 : 추가하고 싶은 요소
let num = [1,2,3,4,5];
num.splice(2,1,10);
console.log(num); // [ 1, 2, 10, 4, 5 ]
예시문제)
array 감옥에 갇힌 2를 구해주세요.
단, slice 메서드를 활용해야 하며, 괄호 안에는 음수만 적어야 합니다.
let prisoners = [[0, 1],[1,2],[0,0]];
saveNumberTwo(prisoners) // 2
function saveNumberTwo(prisoners) {
let temp = prisoners.slice(-2, -1)
let answer = temp[0][1]
return answer
}
let prisoners = [[0, 1],[1,2],[0,0]];
console.log(saveNumberTwo(prisoners));
module.exports = { saveNumberTwo };
e) concat
let alphabet = ['a', 'b', 'c'];
let hangeul = ['ㄱ', 'ㄴ', 'ㄷ'];
alphabet.concat(hangeul); // [ 'a', 'b', 'c', 'ㄱ', 'ㄴ', 'ㄷ' ]
하기 코드 둘은 매우 비슷해보이지만 다른 결과를 반환한다. 두번째의 경우는 배열을 3개로 인식했기 때문에 [2, 3]을 감싸는 대괄호가 사라졌습니다.
이런식으로 배열을 변수에 지정해서 인자로 넘겨줄 수도 있고, 바로 인자에서 배열을 작성해줄 수 있다.
const alpha = ['a', 'b', 'c'];
// 배열 2개 이어붙이기
const arr = [1, [2, 3]];
alpha.concat(arr); // [ 'a', 'b', 'c', 1, [ 2, 3 ] ]
// 배열 3개 이어붙이기
alpha.concat(arr);
alpha.concat(1, [2, 3]); // [ 'a', 'b', 'c', 1, 2, 3 ]