-개념
문자열에서 찾고자 하는 문자열이 어디에 있는지 찾을 수 있다.
배열에서 찾고자 하는 배열값이 어디에 있는지 찾을 수 있다.
**원하는 값이 있는곳의 인덱스 번호로 출력된다.
-사용방법
1.문자열
1
2
3
4
|
let string_indexof = 'indexof';
console.log(string_indexof.indexOf('i'));
//0 출력
|
string_indexof.indexOf('i')
string_indexof변수 안에 i 문자열을 찾는다. i가 맨 앞쪽에 있기 때문에 0(인덱스 번호)을 출력한다.
1
2
3
4
|
let string_indexof = 'iddexof';
console.log(string_indexof.indexOf('d'));
//1 출력
|
string_indexof.indexOf('d')
string_indexof변수 안에서 d 문자열을 찾는다. 이번에는 변수 안에 d문자열이 두 개가 있지만 맨 앞에 d 인덱스 번호만 출력한다. 즉, 변수 안에 찾고자 하는 문자열이 여러 개 있다고 해도 맨 앞쪽 문자열만 찾아서 출력해준다.
2. 배열
1
2
3
4
|
let arry_indexof = [1,2,3,4,5];
console.log(arry_indexof.indexOf(5));
//4 출력
|
arry_indexof.indexOf(5)
arry_indexof배열 안에서 숫자 5를 찾는다. 인덱스 번호로 숫자 5는 4번 위치에 있기 때문에 4를 출력한다.
1
2
3
4
|
let arry_indexof = [1,2,3,5,5];
console.log(arry_indexof.indexOf(5));
//3 출력
|
arry_indexof.indexOf(5)
문자열 찾기와 같이 배열 안에서 찾고자 하는 숫자가 중복일 경우 맨 앞에 있는 숫자의 인덱스 번호를 출력한다.
3. 찾고자 하는 값이 없는 경우
1
2
3
4
|
let arry_indexof = [1,2,3,4,5];
console.log(arry_indexof.indexOf(6));
//-1 출력
|
arry_indexof.indexOf(6)
만약, 찾고자 하는 값이 없을 경우 -1을 출력한다. arry_indexof배열 안에 숫자 6이 없기 때문에 -1을 출력한다.
-응용
1. 같은 값이 몇 개 있는지 카운트
1
2
3
4
5
6
7
8
9
10
11
|
let standard_arry = [1,2,3,4,5];
let find_arry = [1,2,3,4];
let counting = 0;
for(let j = 0; j < find_arry.length; j++){
if(standard_arry.indexOf(find_arry[j]) > -1){
counting++;
}
}
console.log(counting + '개 있습니다.');
//4개 있습니다.
|
let counting = 0;
카운트 값을 담을 변수
for(let j = 0; j < find_arry.length; j++){}
find_arry길이만큼 반복문을 돌려서 배열 값을 한 바퀴 돈다.
if(standard_arry.indexOf(find_arry [j]) > -1){
counting++;
}
반복문을 통해 find_arry배열을 한 개씩 돌면서 standard_arry배열 안에 있는지 찾는다. 찾으면서 값이 -1보다 크게 될 경우
counting에 +1을 한다.
만약, 중복되는 값이 있는 경우 카운트
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
let standard_arry = [1,2,3,4,4,4,4];
let find_arry = [1,2,3,4];
let counting = 0;
for(let j = 0; j < 10; j++){
if(standard_arry.indexOf(find_arry[j]) > -1){
console.log(standard_arry.indexOf(find_arry[j]))
//0, 1, 2, 3 인덱스번호 출력
counting++;
}
}
console.log(counting + '개 있습니다.');
//4개 있습니다.
|
standard_arry배열 값과 find_arry배열 값 중에서 숫자 4가 4개나 중복되지만 indexOf()는 제일 먼저 나오는 숫자 4만 카운트한다. 중복되는 값이 있는 경우 indexOf()로 카운트하는 건 좋지 않은 것 같다.
'개발노트 > Javascript' 카테고리의 다른 글
(JS) split() (2019/9/28) (0) | 2019.09.28 |
---|---|
(JS) join() (2019/9/26) (0) | 2019.09.26 |
(JS) splice() (2019/9/26) (0) | 2019.09.26 |
(JS) requestanimationframe() (2019/9/11) (0) | 2019.09.11 |
(JS) 자바스크립트 변수 기본기 (2019/9/6) (0) | 2019.09.06 |
주니어 개발자의 성장 기록지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!