학습 목표
- 배열에서 특정 인덱스(index)의 요소(element)를 조회하거나, 변경할 수 있다.
length
속성을 이용하여 배열의 길이를 조회할 수 있다.- 배열의 요소가 배열인 이중 배열을 이해하고, 이중 배열의 요소를 조회하거나 변경할 수 있다.
- 배열의 각 요소에 대하여, 반복하는 코드를 실행시킬 수 있다.
- 배열에서 사용되는 다양한 메서드를 알고 사용할 수 있다.
split()
,join()
,slice()
,splice()
,Array.isArray()
,push()
,unshift()
,pop()
,shift()
,indexOf()
,includes()
[]
)를 이용해서 배열을 만든다.,
)로 구분해준다.let myNumber = [14, 25, 36, 47, 58];
myNumber[3];
myNumber[5];
myNumber[3] = 70;
let myNumber = [[10, 20], [30, 40], [50, 60]];
myNumber[0][1];
length
속성을 이용하여 배열의 길이를 알아낼 수 있다.let myNumber = [14, 25, 36, 47, 58];
myNumber.length; // 5
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
배열의 길이와 인덱스를 활용하여 배열 내부에 있는 모든 요소를 순회할 수 있다.
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]); // 0, 1, 2, 3, 4, 5, 6, 7, 8
}
function arrToString(arr) {
let result = 0;
for (let i = 0; i < arr.length; i++) {
if (i % 2 === 0) {
result = result + arr[i];
}
}
return result;
}
console.log(arrToString(arr)) // 20
for of
문모든 요소를 순회할 때는 for of
문을 사용하면 더 간결하고 편리하다.
for (let el of arr) {
console.log(el) // 0, 1, 2, 3, 4, 5, 6, 7, 8
}
function arrToString(arr) {
let result = 0;
for (let el of arr) {
if (el % 2 === 0) {
result = result + el;
}
}
return result;
}
console.log(arrToString(arr)) // 20
Array.isArray()
: 특정 값이 배열인지 아닌지 판별구문
Array.isArray(obj)
예시
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
push()
: 하나 이상의 요소를 배열의 가장 마지막에 추가구문
arr.push(element1[, ...[, elementN]])
예시
let sports = ['축구', '야구'];
sports.push('미식축구', '수영'); //4
console.log(sports); // ['축구', '야구', '미식축구', '수영']
pop()
: 배열의 가장 마지막 요소를 제거구문
arr.pop()
예시
let myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.pop(); // 'sturgeon'
console.log(myFish); // ['angel', 'clown', 'mandarin' ]
unshift()
: 하나 이상의 요소를 배열의 가장 앞쪽에 추가구문
arr.unshift([...elementN])
예시
let arr = [1, 2, 3];
arr.unshift(4, 5); // 5
console.log(arr); // [4, 5, 1, 2, 3]
shift()
: 배열의 첫 요소를 제거구문
arr.shift()
예시
let sports = ['축구', '야구', '미식축구', '수영'];
sports.shift(); //'축구'
console.log(sports); // ['야구', '미식축구', '수영']
reverse()
: 배열 요소를 역순으로 정렬구문
a.reverse()
예시
let arr = [1, 2, 3, 4, 5];
arr.reverse();
alert( arr ); // 5,4,3,2,1
splice()
: 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경구문
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
예시
let sports = ['축구', '야구', '농구', '미식축구', '수영'];
sports.splice(2, 0, '배구'); // []
console.log(sports); // ['축구', '야구', '배구', '농구', '미식축구', '수영']
let sports = ['축구', '야구', '농구', '미식축구', '수영'];
sports.splice(3, 1); // ['미식축구']
console.log(sports); // ['축구', '야구', '농구', '수영']
let sports = ['축구', '야구', '농구', '미식축구', '수영'];
sports.splice(2, 1, '골프'); // ['농구']
console.log(sports); // ['축구', '야구', '골프', '미식축구', '수영']
let sports = ['축구', '야구', '농구', '미식축구', '수영'];
sports.splice(3); // ['미식축구', '수영']
console.log(sports); // ['축구', '야구', '농구']
join()
: 배열의 모든 요소를 연결해 하나의 문자열 반환구문
arr.join([separator])
예시
let color = ['빨강', '노랑', '파랑', '보라'];
let myColor1 = color.join();
let myColor2 = color.join(', ');
let myColor3 = color.join(' + ');
let myColor4 = color.join('');
console.log(myColor1); // 빨강,노랑,파랑,보라
console.log(myColor2); // 빨강, 노랑, 파랑, 보라
console.log(myColor3); // 빨강 + 노랑 + 파랑 + 보라
console.log(myColor4); // 빨강노랑파랑보라
slice()
: 어떤 배열의 begin 부터 end 까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환구문
arr.slice([begin[, end]])
예시
let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
let citrus = fruits.slice(1, 3);
console.log(fruits); // ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
console.log(citrus); // ['Orange', 'Lemon']
indexOf()
: 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환구문
arr.indexOf(searchElement[, fromIndex])
예시
let array = [10, 20, 30, 40, 50, 40, 20, 60];
console.log(array.indexOf(10)); // 0
console.log(array.indexOf(30)); // 2
console.log(array.indexOf(70)); // -1
console.log(array.indexOf(30, -6)); // 2
console.log(array.indexOf(40, 5)); // 5
console.log(array.indexOf(60, -1)); // 7
includes()
: 배열이 특정 요소를 포함하고 있는지 판별구문
arr.includes(valueToFind[, fromIndex])
예시
console.log([1, 2, 3].includes(2)); // true
console.log([1, 2, 3].includes(4)); // false
console.log([1, 2, 3].includes(3, 3)); // false
console.log([1, 2, 3].includes(3, -1)); // true
console.log([1, 2, NaN].includes(NaN)); // true
concat()
: 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환구문
array.concat([value1[, value2[, ...[, valueN]]]])
예시
const alpha = ['a', 'b', 'c'];
const numeric = [1, 2, 3];
console.log(alpha.concat(numeric)); // ['a', 'b', 'c', 1, 2, 3]
console.log(alpha); // ['a', 'b', 'c']