
‘효율성을 위해' → 배열은 하나의 변수에 여러가지 요소를 하나의 리스트로 담을 수 있게 해 준다.
ex) 차의 가격을 알아보고 싶다. 배열이 없다면, 차 하나하나를 변수에 담고, 같은 함수를 하나하나에 적용시켜줘야 한다. 차가 만약에 3000대라면?..전부 다 쓸 수 없다.
이럴 때, 배열이 유용! 배열 안에 차 들을 전부 담고, 반복문을 사용하여 똑같은 동작을 반복하도록 해 주면 된다.
let car1 = "BMW";
let car2 = "Benz";
let car3 = "Ferrari";
let cars = ["BMW", "Benz", "Ferrari"];
// 1. literal 표기법
let myArray = [1, 2, '김민주', true];
// 2. array() 생성자 사용
-------------------------------------
// 2-1) array constructor with one parameter
let fruits = new Array(2)
console.log(fruits.length) // 2
console.log(fruits[0]) // undefined
-------------------------------------
// 2-2) array constructor with multiple parameter
let fruits = new Array('Apple', 'Banana');
console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"
let codingstar = ['이원빈', '황정현', '남용현', '한상안'];
codingstar.push('김민주'); // ['이원빈', '황정현', '남용현', '한상안', '김민주']
let codingstar = ['이원빈', '황정현', '남용현', '한상안'];
codingstar[1] = '김슬비'; // ['이원빈', '김슬비', '남용현', '한상안']
let codingstar = ['이원빈', '황정현', '남용현', '한상안']; // 상안님을 제거
codingstar.pop(); // ['이원빈', '황정현', '남용현']
반복문은 동일한 동작을 반복해서 수행해야 하는 수고로움을 덜어주기 위해서 존재한다.
반복문이 없다면 똑같은 일을 여러번 하도록 해야 한다. 에를 들어 ‘동쪽으로 다섯 걸음 가세요'라는 지시사항을 전달하려고 할 때,
‘동쪽으로 한 걸음 가세요'를 5번 출력 하는 것보다,
‘동쪽으로 한 걸음 가세요'가 5번 ‘반복'하여 출력 되도록 하는게 낫다.
//*1. 반복문이 없을 때
console.log('동쪽으로 한 걸음 가세요')
console.log('동쪽으로 한 걸음 가세요')
console.log('동쪽으로 한 걸음 가세요')
console.log('동쪽으로 한 걸음 가세요')
console.log('동쪽으로 한 걸음 가세요')
//*2. 반복문을 사용 할 때
for (i = 0; i < 5; i++){
console.log('동쪽으로 한 걸음 가세요');
}
for(카운터의 초기화 ; 카운터가 만족시켜야 할 조건 ; 카운터의 변화) {
수행할 동작
}
배열의 장점은, ‘하나의 변수'에 여러 값들을 리스트로 저장할 수 있다는 데에 있다.
배열의 각 요소들에 같은 동작들을 하도록 만들 때! 반복문을 사용하면..천하 무적이다!
출처 : mdn 공식사이트
let myData = 'Manchester,London,Liverpool,Birmingham,Leeds,Carlisle';
// 문자를 받아온 파라미터로 구분하여 배열로 만들기
let newData = myData.split(',');
console.log(newData);
// 배열을 다시 파라미터로 구분하여 문자열로 만들기
let newData2 = newData.join(',');
console.log(newData2);
cf) 배열의 ‘맨 마지막' 값을 삭제, 추가하는 건, 앞에서 배웠다. 바로 array.push(), array.pop()
let newData = ["Manchester", "London", "Liverpool", "Birmingham", "Leeds"]
newData.shift(); // 'Manchester'가 삭제된다. shift는 '이동 즉, 삭제의 의미로 이해'
newData.unshift('Manchester;); // 'Manchester'를 다시 배열의 앞머리에 넣어준다.
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found);
// expected output: 12
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
word.filter( element => element.length > 6 );
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
let courses = [
{level:'easy', subject: "English" },
{level:'hard', subject: "Mathmatic" },
{level:'medium', subject: "Literature" },
{level:'hard', subject: "Science" },
{level:'medium', subject: "Socialogy" }
];
let hardCourses = courses.filter(element => element.level === 'hard')
console.log(hardCourses);
for문을 forEach로 바꾸기
const items = ['item1', 'item2', 'item3'];
const copy = [];
// 이전
for (let i=0; i<items.length; i++) {
copy.push(items[i]);
}
// 이후
items.forEach(item =>
copy.push(item));
});