저번 시간에 이어서 배열에서 사용되어지는 API들에 대해서 알아보려고 한다.
/* Q : : 첫번째, 두번째 제외한 나머지 부분만 뽑아서 새로운 배열 만들기 */
{
const array = [1, 2, 3, 4, 5];
const result = array.splice(2, 5);
console.log(result); // [3, 4, 5]
console.log(array); // [1, 2]
}
이처럼 splice를 하고 나면 원래 array에도 영향을 받게 된다.
즉, splice는 새로운 배열을 만드는 것이 아니다.
/* Q : : 첫번째, 두번째 제외한 나머지 부분만 뽑아서 새로운 배열 만들기 */
{
const array = [1, 2, 3, 4, 5];
const result = array.slice(2, 5);
console.log(result); // [3, 4, 5]
console.log(array); // [1, 2, 3, 4, 5]
}
이처럼 slice를 하고 나면 array를 다시봐도 그대로 원형을 유지하고 있다.
즉, 원래 형태를 유지하면서 원하는 범위만 return해서 받아오고 싶을 때 사용 할 수 있다.
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, index) => {
return student.score === 90;
});
console.log(result);
const animals = [
{ name: 'lion', size: 'big', isAggressive: true, weight: 300 },
{ name: 'monkey', size: 'medium', isAggressive: true, weight: 18 },
{ name: 'rat', size: 'small', isAggressive: false, weight: 5 },
]
const smallAnimals = animals.filter((item) => {
return item.size === 'medium';
})
console.log(smallAnimals);
이런 식으로 medium size 인것만 찾을 수도 있고, 반대로 삭제를 할 때도 사용된다.
const animals = [
{ name: 'lion', size: 'big', isAggressive: true, weight: 300 },
{ name: 'monkey', size: 'medium', isAggressive: true, weight: 18 },
{ name: 'rat', size: 'small', isAggressive: false, weight: 5 },
]
const smallAnimals = animals.filter((item) => {
return item.size !== 'medium';
})
console.log(smallAnimals);
이렇게 !== 같지 않다를 사용해주면 그것만 뺄 수도 있다!
(장바구니 등에서 활용을 해볼 수 있다)