// Q1. make a string out of an array
const fruits = ['apple', 'banana', 'orange'];
const result = fruits.join(', and'); // join 배열에 있는
// 모든 값을 string으로 변환
console.log(result);
console 값 : apple, andbanana, andorange
// Q2. make an array out of a astring
const fruits = '🍎, 🥝, 🍌, 🍒 ';
const result = fruits.split( ' , ' , 2 ); 나눌 기준이 될 기호 와 출력할 인덱스 갯수
console.log(result);
console 값 : (2) ['🍎', ' 🥝']
// Q3. make this array look like this: [5, 4, 3, 2, 1]
const array = [1, 2, 3, 4, 5];
const result = array.reverse();
console.log(result);
console.log(array); //reverse 배열 자체를 순서 바꿔줌.
console값
console.log(result) = (5) [5, 4, 3, 2, 1]
console.log(array) = (5) [5, 4, 3, 2, 1]
result와 array 값이 같은 이유
reverse는 기존 배열 자체를 바꿔버림.
const array = [1, 2, 3, 4, 5];
const result = array.slice(2, 5); // slice(시작 숫자, 끝숫자) 새 배열만듬.
console.log(result) = (3) [3, 4, 5] slice로 추출한 값
console.log(array) = (5) [1, 2, 3, 4, 5] 기존 배열은 바뀌지 않음.
slice는 기존 배열 변형 x slice(시작숫자, 끝숫자)
끝 숫자 -> 입력된 숫자 직전까지 실행되어 index 4까지 있는 배열의 마지막 까지 추출하려면 5입력 필요.
const array = [1, 2, 3, 4, 5];
const result = array.splice(2, 4); // slice(시작 숫자, 끝숫자) 새 배열만듬.
console.log(result) = [3, 4, 5]
console.log(array) = [1, 2]
splice는 기존 배열이 변형됨.
ex)
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student('A', 29, true, 45),
new Student('B', 28, false, 80),
new Student('C', 30, true, 90),
new Student('D', 40, false, 66),
new Student('E', 18, true, 88),
];
const result = students.find((student) => student.score === 90);
find() 원하는 값을 찾고 멈춤, 없을경우 undefined
console.log(result);
값 Student {name: 'C', age: 30, enrolled: true, score: 90}
점수가 90점인 학생만 추출.
const result = students.filter((student) => student.enrolled); 원하는것만 받아올수 있음.
console.log(result);
console 값 [Student, Student, Student]
해당 조건에 충족되는 값만 받아 올수 있음.
const result = students.map((student) => student.score);
console.log(result);
console값은 [45, 80, 90, 66, 88]
map은 배열안에 들어있는 모든 함수들을 리턴되어진 값으로 대체