1. forEach (순회)

let arr = [1, 2, 3, 4, 5];

// 기존 방식.
for (let i = 0; i <= arr.length; i++) {
  console.log(i);
}

//짧게 forEach 사용.
arr.forEach(function (l) {
  console.log(l);
});

//더 짧게 forEach 사용.
arr.forEach((l) => console.log(l));

2. map (값 새롭게 처리)

let arr = [1, 2, 3, 4, 5];
const newArr = [];

arr.forEach(function (l) {
  newArr.push(l * 2);
});

console.log(arr); // [1, 2, 3, 4, 5]
console.log(newArr); // [2, 4, 6, 8, 10]

// 위 행위들을 더 간단하게 map 을 사용 하기.
let arr = [1, 2, 3, 4, 5];
const newArr = arr.map(function (l) {
  return l * 2;
});

console.log(newArr); //[2, 4, 6, 8, 10]

3. includes (배열에 포함된지 확인)

let arr = [1, 2, 3, 4, 5];
let number = 2;
let strNumber = "2";

console.log(arr.includes(number)); //true
console.log(arr.includes(number + 5)); //false 7 값은 없으니.
console.log(arr.includes(strNumber)); //false includes 는 === 비교

4. indexOf (배열에 포함되었다면 index 리턴)

없으면 -1 을 리턴한다.

let arr = [1, 2, 3, 4, 5];
let number = 4;
let strNumber = "4";

console.log(arr.indexOf(number)); //3 (0 부터 시작하므로, 4는 arr[3] 이다.)
console.log(arr.indexOf(number + 5)); //-1 7값은 없으니.
console.log(arr.indexOf(strNumber)); //-1  === 비교

5. findIndex (조건에 해당하는 객체내 값의 index를 리턴)

let arr = [
  { name: "배재현" },
  { name: "양준영" },
  { name: "주광현" },
  { name: "신웅재" },
  { name: "신재원" },
	{ name: "배재현" } // 중복되는 값을 찾을때 findIndex 는 가장 먼저 만나는 index를 반환한다.
];

console.log(arr.findIndex((l) => l.name === "배재현")); // 0
console.log(arr.findIndex((l) => l.name === "신재원")); // 4
console.log(arr.findIndex((l) => l.name === "박상우")); // -1