for문과 동일
(복습) for문을 이용해서 fruits의 모든 값을 console.log하는 방법let fruits = ["사과", "바나나"]; for (let i = 0; i < fruits.length; i++) { console.log(fruits[i]);
예제 1)
let fruits = ["사과", "바나나", "키위"]; fruits.forEach(function (아무이름) { console.log(아무이름); // 사과 바나나 키위 ; 배열 안 요소를 하나씩 보여줌 }); -> forEach의 매개변수로 들어간 함수가 배열 fruits의 요소개수만큼 실행됨예제 2)
const testArr = [ { name: "홍길동", age: 21, }, { name: "홍길순", age: 23, }, { name: "김가나", age: 40, }, ];이름만 출력하기
testArr.forEach(function (person) { console.log(person.name); });나이가 30살 이상인 경우만 이름을 출력하기
testArr.forEach(function (person) { if (person.age >= 30) { console.log(person.name); }; });
: 기존 배열을 가공해서 새로운 배열을 생성함.
(1) 원본배열이 가지고 있었던 길이만큼의 배열을 반환한다.
const 결과값 = testArr.map(function (item) {}); console.log(결과값); // [undefined, undefined, undefined](2) return 값에 따라 결과값 변화
const 결과값 = testArr.map(function (item) { return 1; }); console.log(결과값); // [1, 1, 1]
예제 1) 원본 배열 testArr에서 요소의 10배 값의 배열을 나타내도록 표현하는 식을 쓰시오.
const testArr = [3, 1, 2]; const 결과값 = testArr.map(function (item) { return item*10; }); console.log(결과값); // [30, 10, 20]>예제 2) 나이가 20살 이상인 경우에는 사람의 성인여부 판별
const people = [ { id: 1, name: "홍길동", age: 30, }, { id: 2, name: "홍길순", age: 15, }, { id: 3, name: "김가나", age: 16, }, ];const newPeople = people.map(function (person) { const newPerson = { id: person.id, name: person.name, age: person.age, isAdult: person.age >= 20, }; return newPerson; });console.log(newPeople); [ { id: 1, name: '홍길동', age: 30, isAdult: true }, { id: 2, name: '홍길순', age: 15, isAdult: false }, { id: 3, name: '김가나', age: 16, isAdult: false } ]예제 3) 배열 testArr의 요소가 name, job이 "tutor"인 객체의 배열로 나타내시오.
const testArr = ["홍길동", "홍길순", "김가나", "박다라"];(1) 새로운객체 만들기 const newArr = testArr.map(function (이름) { const 새로운객체 = { name: 이름, job: "tutor", }; return 새로운객체; }); console.log(newArr);(2) 새로운객체를 바로 return하기 const newArr = testArr.map(function (이름) { return = { name: 이름, job: "tutor", }; }); console.log(newArr);console.log(newArr); [ { name: "홍길동", job: "tutor", }, { name: "홍길순", job: "tutor", }, { name: "김가나", job: "tutor", }, { name: "박다라", job: "tutor", }, ];
예제 1) 원본 배열 testArr로부터 10보다 크거나 같은 값을 뽑아내고 싶어요.
const testArr = [30, 10, 25, 7]; const newArr = testArr.filter(function (숫자) { return 숫자 >= 10; }); console.log(newArr); // [30, 10, 25]예제 2) 나이가 20살 이상인 경우에는 사람의 성인여부 판별
const tutors = [ { name: "홍길동", job: "tutor", }, { name: "홍길순", job: "developer", }, { name: "김가나", job: "tutor", }, { name: "박다라", job: "tutor", }, ];(1) if 조건문을 함수식에 쓰고 return const realTutors = tutors.filter(function (튜터) { if (튜터.job === "tutor") { return true; } else { return false; } }); console.log(realTutors);(2) return식에 바로 조건 쓰기 const realTutors = tutors.filter(function (튜터) { return 튜터.job === "tutor"; }); console.log(realTutors);console.log(realTutors); [ { name: '홍길동', job: 'tutor' }, { name: '김가나', job: 'tutor' }, { name: '박다라', job: 'tutor' } ]