목차
array .indexOf() 예제 - 처음 일치 배열값 위치 찾기
array .indexOf() 정의
array .indexOf() 구문
array .indexOf() 예제 - start 매개변수 사용
array .indexOf() 예제 - 여러 항목 유무 검사
IE9 미만 크로스브라우징 indexOf() 사용자정의함수
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
주소 복사
랜덤 이동