지금 보는 코드는 find를 예시를 든 것이다. 이렇게 arr에 5,90,130,12,44
라는 값을 지정하고, find를 사용해 콜백함수로 item > 10이렇게 조건을 두고 실행을 하면 10보다 큰 수들은 90,130,12,44가 있다. 하지만 find는 맨 처음으로 큰 숫자. 즉 90이라는 값만 출력창에 출력이 되는 것이다.
배열데이터로 3명의 이름과, 나이가 있다. 그래서 find를 사용해 콜백함수에 조건으로 user.age > 10 이다. 그럼 3명이 다 가능하다. 하지만, 딱 참인 조건 처음만 들어가기 때문에, Tteum, 20만이 출력이 되는 것이다.
예제를 간단하게 만들어 보았다. 이렇게 arr에 5 = 0, 8 = 1, 3 = 2, 12 = 3, 44 = 4 이런 식으로 된다, 또, 44 다음으론 8을 넣고 싶으면, 8 = 5가 되는 것이다. 그래서 콜백함수로, item > 10이니까, 5,8,3은 제거가되고,
12 = 3이니까 12 > 10이 참이니까 12가 아닌 3인 값이 출력이 된다.
그 뒤에 있는 다른 아이템들은 10보다 커도 콜백하지 않는다.
flat은 기본 값이 1이다. 그리고 지금 arr 을 보면 배열데이터 안에 배열데이터가 또 있는 것을 확인 할 수 있다. 이것을 하위 배열이라 불린다. 그래서 flat은 이어 붙히는 역할을 하는 것이다. 그래서 출력 값엔 [1, 2, 3, 4] 이렇게 이어 붙힌다.
또,
이렇게 하위 배열 뒤에 또, 하위 배열이 있다. 출력을 해 보면
[1, 2, 3, 4,[5, 6]]이렇게 출력이 된다. 이것을 이어 붙히지 않은 것이다. 그래서 이를 어떻게 해결을 하냐면, console.log에 arr.flat(2)를 하는 것이다. 기본 값이 1 이기 때문에, 하위 배열을 또 실행되지가 않는 것이다.
3을 말고도 Infinity를 작성해도 잘 출력이 된다, 하위 배열이 엄청 많아 질 때,사용하는 것이다. 무한이라는 의미를 가지고 있기 때문이다.
forEach와 for문이다. 둘 다 사용해도, 결과 값은 똑같다. 하지만, for문 보다, forEach문을 사용하는게 더 단순하고 더 짧은 코드를 적을 수 있다.
차이점은 forEach는 반복을 종료할 수 없다. 하지만 for 반복문은 반복을 종료할 수 있다. 이 차이점이 있다. for에는 if 조건문에서 break를 사용할 수 있다.
includes는 특정 요소를 포함하고 있는지, 불린으로 나타낸다. arr에는 1,2,3이 있고, console.log에 includes를 포함해서 출력하고 3을 넣으면 true 참이 나오고 1, 2도 마찬가지로 true가 나온다. 하지만, 0을 넣으면 요소에 0은 없으니까 false가 나온다.
대 소문자 구분 잘 해서 출력해야 한다.
원시형은 아직 안 배웠고,
참조형은: 함수, 객체, 배열이 있다.
첫 번째 console.log에는 Tteum이라는 이름과 나이가 똑같이 출력이 되고 있다.
하지만, false가 나온다. 똑같이 적어도 다른 데이터라고 알아본다. 그래서 false가 출력이 되는 것이다.