//배열함수 모음 (array func)
const fruits = [
"apple",
"banana",
"orange",
"kiwi",
"mango",
"grape",
"dragonfruite",
"tangerin",
];
// 기본 for문>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// for (let i = 0; i < fruits.length; i++) {
// console.log(fruits[i]);
// }
///////////////////////////////////////////////////////////////////////////////////////////////
//forEach 문>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 포이치는 그냥 스트링임
//함수를 매개변수로 넣어준다. 익명함수는 메모리 차지안하고 종료되면 사라짐 익명함수 추천~
//const result = fruits.forEach((fruit) => console.log(fruit));
//const result = fruits.forEach((fruit, index) => { //이렇게 변수로 저장 할 필요 없음 어차피 반환값이 없다.
fruits.forEach((fruit, index) => {
//console.log(fruit, index) //이렇게 여기안에서 처리해서 값을 뽑는거임.
//fruit, index;
}); //친절하게 인덱싱도 해줌.
//console.log(result); // 언디파인드 나옴 forEach 는 반환 값이 없다.
//아니면 옛날방식도 있고,,,
// function print(items) {
// console.log(items);
// }
// const result = fruits.forEach(print);
///////////////////////////////////////////////////////////////////////////////////////////////
//map>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>맵은반환값이 있다(return을 꼭 명시) 배열로 뽑을 수 있다.
//map은 원래 배열은 건들지 않고, 완전히 새로운 배열을 만듬.
// const result = fruits.map((item) => {
// return item;
// return item * 2;
// });
// console.log(result); // map 은 배열로 꺼내진다.
//맵은 꼭 리턴을 해줘야 된다. 단독으로 쓸때는~!
///////////////////////////////////////////////////////////////////////////////////////////////
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student("Aaa", 29, true, 45),
new Student("Bbb", 28, false, 80),
new Student("Ccc", 30, true, 90),
new Student("Ddd", 40, false, 66),
new Student("Eee", 18, true, 88),
];
//filter 필터 // 필터는 배열이다. 배열을 리턴함 즉, 여러값을 리턴함.
//filter는 원래 값을 변조하지 않고, 새로운 배열을 만들어낸다.
//map이랑 비슷한 filter 가 있다.
// 필터는 조건을 줘서 트루인 답만 뽑을 수 있다. 리턴은 입력해야함.
//const result = students.filter((item) => {
//return item.age === 30;
//return item.name.startsWith("D");
//return item.score >= 50;
//이렇게 조건을 줄 수 있다.
//});
// console.log(result);
///////////////////////////////////////////////////////////////////////////////////////////////
//some 은 불리언 값으로 리턴됨. 있냐 없냐 를 물을떄.
// const result = students.some((item) => {
// return item.name.startsWith("D");
// });
// console.log(result);
///////////////////////////////////////////////////////////////////////////////////////////////
//every 는 모두의 이름이 D로 시작하냐? 이런 모두의 불리언값을 뽑을때, 모두가 그 값이냐?
// const result = students.every((item) => {
// return item.name.startsWith("D");
// });
// console.log(result);
///////////////////////////////////////////////////////////////////////////////////////////////
//find //find 는 단 하나의 값만 찾아줌.
// const result = students.find((item) => {
// return item.name.startsWith("D");
// return item.name === "Ddd";
// });
// console.log(result);
///////////////////////////////////////////////////////////////////////////////////////////////
//findIndex //findIndex 는 그냥 인덱스 번호를 찾아줌.
// const result = students.findIndex((item) => {
// return item.name.startsWith("D");
// });
// console.log(result);