• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Array] JS - indexOf() 메서드(배열) ★ - 처음 일치 배열값 위치 찾기 (= 배열값 포함 검사 = 배열 순번 찾기 = indexOf메서드 = 인덱스어브메서드) ※ 문자열찾기/문자열포함검사/문자열유무검사

목차
  1. array.indexOf() 예제 - 처음 일치 배열값 위치 찾기
  2. array.indexOf() 정의
  3. array.indexOf() 구문
  4. array.indexOf() 예제 - start 매개변수 사용
  5. array.indexOf() 예제 - 여러 항목 유무 검사
  6. IE9 미만 크로스브라우징 indexOf() 사용자정의함수
  7. array.indexOf() 예제 - 다중분류

 

array.indexOf() 예제 - 처음 일치 배열값 위치 찾기 

 

<button onclick="homzzang()">클릭</button>


<p id="demo"></p>


<script>

function homzzang() {

  var code = ["HTML", "CSS", "JS", "PHP"];

  var a = code.indexOf("JS");

  document.getElementById("demo").innerHTML = a; // 2

}

</script>

 

결과값: 2

 

array.indexOf() 정의

 

배열값 포함 검사 후, 해당 위치 반환.

 


 

1.

  • 0부터부터 검색 시작. (※ 검색 위치 지정 시, 해당 위치부터 검색.)
  • 배열 끝에서 검색 종료.
  • 찾을 항목이 배열에 없을 시,  -1 반환.
  • 일치 배열값이 여러 개인 경우, 첫 번째 위치만 반환.
  • 배열값 시작위치는 0이고, 두 번째 배열값 위치는 1.

 

2. cf.

lastIndexOf() 메서드 : 배열값 끝부터 역방향으로 검색.

 

3.

  • ECMAScript 5
  • IE9 이상 주요 최신브라우저 지원.

 

4. MDN indexOf() 예제보기

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

 

 

array.indexOf() 구문

 

array.indexOf(item, start)

 


[매개변수]

 

item

필수. 찾을 배열값

 

start

선택. 찾을 시작위치. (기본값: 0)

  • 음수 경우, 끝에서부터 센 위치부터 끝까지 검색.

 


[반환값]

 

  • 일치값 존재 O 경우, 발견된 첫번째 색인번호 반환
  • 일치값 존재 X 경우, -1 반환.

 

 

array.indexOf() 예제 - start 매개변수 사용

 

<button onclick="homzzang()">클릭</button>


<p id="demo"></p>


<script>

function homzzang() {

  var code = ["HTML", "CSS", "JS", "JQ", "HTML", "CSS", "JS", "JQ"];

  var a = code.indexOf("JS", 4);

  document.getElementById("demo").innerHTML = a;

}

</script>

 

결과값: 6

 

array.indexOf() 예제 - 여러 항목 유무 검사

 

let txt = "HTML CSS JS PHP SQL";

let arr = ["JQ", "PHP", "SQL"];

 

arr.forEach((e) => {

    if(txt.indexOf(e) != -1) {

        // 존재할 때            

    } else {

        // 존재하지 않을 때

    }

}); 

 


PS. str.search() 메서드와 for 반복문 이용

 

let txt = "HTML CSS JS PHP SQL";

let arr = ['JQ', 'PHP', 'SQL'];


for (let i=0; i < arr.length; i++) {

    if (txt.search(arr[i]) >= 0) 

        alert(arr[i]+" :있음")

    else 

        alert(arr[i]+" :없음");

}

 

결과보기

서야 님, 평정심 님 (202226) https://sir.kr/qa/386875

 

IE9 미만 크로스브라우징 indexOf() 사용자정의함수

[슈와이 님 버전]

 if (!Array.prototype.indexOf) {

    Array.prototype.indexOf = function (obj, start) {

        for (var i = (start || 0); i < this.length; i++) 

            if (this[i] == obj) 

                return i;        

        return -1;

    }

}

 

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

var a = arr.indexOf(3); // 3 위치: 2

var b = arr.indexOf(0); // 0 위치: -1

document.write("3 위치 : " + a + "<br>0 위치 : " + b);

 

결과보기 ※ 슈와이 님 (170415) https://sir.kr/qa/179699


[평정심 님 버전]

 

function indexOf(arr, value) {

    for(var i = 0; i < arr.length; i++) {

        if(arr[i] === value) {

            return i;

        }

    }

    return -1;

};

 

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

var a = indexOf(arr, 3); // 3의 위치: 2

var b = indexOf(arr, 0); // 0의 위치: -1

document.write("3 위치 : " + a + "<br>0 위치 : " + b);

 

결과보기 ※ 평정심 님 (170415) https://sir.kr/qa/179699

 

array.indexOf() 예제 - 다중분류

 

로빈아빠 님 (110402) https://sir.kr/g4_tiptech/26035

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Array JS - Array - 배열 ★★★★★
Array JS - constructor 속성(배열) - 배열 프로토타입 생성하는 함수를 반환. (constructor…
Array JS - length 속성 - 배열길이 (= 배열개수 = 배열값개수 = 배열요소개수 = length속성 = …
Array JS - Array.prototype 속성(배열) - 사용자정의 속성/메서드 추가 (= Array.proto…
Array JS - concat() 메서드 - 배열결합 (= 배열합치기 = concat메서드 = 컨캣메서드/컨켓메서드)
Array JS - copyWithin() 메서드 - 배열내 배열값 복사하기 (= copyWithin메서드 = 카피위딘…
Array JS - every() 메서드 - 모든배열값 함수충족여부 체크 (= every메서드 = 에브리메서드) ※ 모…
Array JS - fill() 메서드 - 배열값변경 (= 배열값교체 = 배열값바꾸기 = fill메서드 = 필메서드) …
Array JS - filter() 메서드 - 함수조건충족 배열값 구하기 (= filter메서드 = 필터메서드) ※ 배…
Array JS - find() 메서드 - 맨처음 조건 충족한 배열값 찾기 (= find메서드 = 파인드메서드)
Array JS - findIndex() 메서드 - 맨처음 조건 충족/일치 배열값 색인번호 찾기 (= findIndex…
Array JS - forEach() 메서드 ★★ - 각각의 배열값(=배열요소)에 대해 한번씩 함수실행 (= forEa…
Array JS - indexOf() 메서드(배열) ★ - 처음 일치 배열값 위치 찾기 (= 배열값 포함 검사 = 배열…
Array JS - Array.isArray() 메서드 - 배열여부체크 (= 배열인지판단 = Array.isArray메…
Array JS - join() 메서드 - 배열을 문자열로 전환. (= join메서드 = 조인메서드) : 구분자 O
Array JS - lastIndexOf() 메서드(배열) ★ - 마지막일치배열값위치찾기 (= 배열값포함검사 = 마지막…
Array JS - map() 메서드 ★ - 함수 적용 결과값으로 배열 생성 (= map메서드 = 맵메서드)
Array JS - pop() 메서드 ★ - 배열의 마지막 요소 제거 (= 마지막 배열값 없애기 = pop메서드 = 팝…
Array JS - push() 메서드 ★ - 배열 뒤에(=끝에) 배열요소 추가 후, 배열길이(=배열요소개수) 반환 (…
Array JS - reduce() 메서드 ★ - 왼쪽 배열값부터 계산 (= reduce메서드 = 리듀스메서드) ※ 각…
1/2
목록
찾아주셔서 감사합니다. Since 2012