
: 배열 안에서 찾으려는 값(searchElement)과 정확하게 일치(===)하는 ⭐️'첫번째' element의 index를 리턴⭐️한다.
: 만약, 찾으려는 값이 배열에 없으면 -1을 리턴한다.
: fromIndex를 파라미터로 전달하면, formIndex부터 값을 찾는다.
형식: arr.**indexOf(searchElement[, formIndex])

: 배열 안에서 찾으려는 값(searchElement)과 정확하게 일치(===)하는 ⭐️'마지막' element의 index를 리턴⭐️한다.
: 만약, 찾으려는 값이 배열에 없으면 -1을 리턴한다.
: formIndex를 파라미터로 전달하면, fromIndex부터 역방향으로(index값을 줄여나가면서) searchElement와 같은 값을 찾아서 첫번째로 같은 값을 가지는 index를 리턴한다.
: fomrIndex값이 입력되지 않으면, 기본값은(배열의 길이-1)이다.
-> 즉, fromIndex값을 입력하지 않으면, lastIndexOf 함수는 배열의 끝에서부터 역방향으로 배열을 탐색하여 searchElement와 같은 값을 가지는 최초의 index값을 리턴하는 것이다.
형식: arr.lastIndexOf(searchElement[, fromIndex])

searchElement: 찾으려는 값
fromIndex: 검색을 시작할 index, 입력하지 않으면 arr.length-1 index부터 검색을 시작한다.
배열에서 searchElement와 갑싱 정확하게 일치하는 마지막 index를 리턴한다.
찾으려는 값이 배열에 없으면 -1을 리턴한다.
const arr = [1, 1, '1', 1];
document.writeln(arr.indexOf(1));
//fromIndex를 안넣었기 때문에 [0]부터 검사
//[0]인덱스 searchElement와 일치함
// -> 0
document.writeln(arr.indexOf('1')); //-> 2
document.writeln(arr.indexOf(1, 1));
//fromIndex [1] 부터 확인
// arr[1] = 1 이기 때문에
// -> 1
document.writeln(arr.indexOf(0));
// -> -1
//arr에는 0이 없다.
document.writeln(arr.lastIndexOf(1));
//fromIndex 없기 때문에 마지막부터 역순으로 검사
// [3]인덱스 searchElement와 일치함
//-> 3
document.writeln(arr.lastIndexOf('1')); //-> 2
document.writeln(arr.lastIndexOf(1, 1));
//fromIndex 1이기 때문에 [1] 부터 역순으로 검사
// [1]인덱스가 searchElement와 일치함
//-> 1
document.writeln(arr.lastIndexOf(0)); // -1
~~~
== 연산자와 === 연산자의 차이점
: '=='는 비교하는 두 개의 값(피연산자)을 강제로 같은 형으로 변환한 후, 비교를 수행한다.
: 즉, 두 값의 타입이 다르더라도, 형 변환된 값이 같다면 true를 리턴한다.
:'==='는 비교하는 두 개의 값(피연산자)의 타입고 값이 모두 같을 경우에만, true를 리턴한다.
doucument.writeln(1 == '1'); //true
doucument.writeln(1 === '1'); //false
-> boolean 값이 fasle와 숫자 0을 비교
->'=='연산자를 사용하여 비교하면, 숫자 0을 false로 취급하여 true 리턴
-> 그러나, '==='연산자를 사용하여 비교하며느 두 개의 타입이 다르므로 falase를 리턴
document.writeln(false == 0); // true
document.writeln(flase === 0); //fasle
* 보통 정확한 비교를 위헤 '=='보다는 '===' 연산자를 사용하여 비교하는것을 추천
~~~
## 4. indexOf() 함수를 활용하여 특정 값이 있는 모든 위치(index) 찾기
```javascript
const arr = [1, 1, '1', 1];
let fromIndex = arr.indexOf(1);
while(fromIndex != -1) {
document.writeln(fromIndex);
fromIndex = arr.indexOf(1, fromIndex+1);
}
//->0, 1, 3
-> let fromIndex = arr.indexOf(1); : 1인 인덱스를 찾아줘!
-> while(formIndex != -1) : 결과가 -1(==false)이 될때까지 fromIndex를 찾아라!
-> document.writenln(fromIndex); : fromIndex값을 가져와라!
-> fromIndex = arr.indexOf(1, fromIndex+1);
: fromIndex값을 이전에 찾아낸 index값 이후로 설정해주면서 특정값이 있는 모든 index를 찾아내고 있다.