티스토리 뷰

javascript의 배열 리스트 중에 내가 찾는 단어가 포함되어 있는지 없는지를 확인할 필요가 있습니다.
몇가지 방법이 있지만 indexOflastIndexOf를 통해서 확인 할 수 있습니다.

구문

array.indexOf(searchElement[, fromIndex])

array.lastIndexOf(searchElement[, fromIndex])

해결방법

var fruit = new Array("apple","orrange","pear","grape");
alert(fruit.indexOf("pear"));       // 2 출력
alert(fruit.lastIndexOf("pear"));   // 1 출력
var fruit = new Array("apple","orrange","pear","grape" ,"orrange");
alert(fruit.indexOf("orrange", 0));       // 1 출력
alert(fruit.indexOf("orrange", 2));       // 4 출력

설명

indexOf()

fruit 변수에 배열형태로 입력되어 있는 4개의 과일명에서 indexOf()로 원하는 단어를 앞에서 부터 비교하여 할당된 단어가 위치해 있는 인덱스 값을 반환합니다. 이때 1이 아닌 0부터 카운트를 한다는 것에 주의해야 합니다.
해당하는 단어가 없을 겅우는 -1을 반환합니다.

lastIndexOf()

fruit 변수에 배열형태로 입력되어 있는 4개의 과일명에서 lastIndexOf()로 원하는 단어를 뒤에서 부터 비교하여 할당된 단어가 위치해 있는 인덱스 값을 반환합니다. 이때 1이 아닌 0부터 카운트를 한다는 것에 주의해야 합니다.
해당하는 단어가 없을 겅우는 -1을 반환합니다.

에제) fruit.indexOf("orrange", 2))

fruit.indexOf("orrange", 2)) 처럼 찾고자 하는 단어 뒤에 숫자(2)는 찾는 시작점이라고 할 수 있습니다.
var fruit = new Array("apple","orrange","pear","grape" ,"orrange");에서 보면 시작점은 인덱스 2에 해당하는 pear에서 부터 찾기를 시작합니다.
pear부터 뒤로 찾아가다가 마지막에 있는 orrange를 찾은 후 인덱스값을 반환해 줍니다. 여기서 헷갈리지 말아야 할 것이 pear부터 2번째에 있다고 2를 반환하는 것이 아니라 이 전체 배열에서 해당하는 orrange가 몇 번째인가를 리턴해 준다는 것입니다. 여기서는 인덱스 4가 됩니다.

댓글