JavaScript / Object / Array.indexOf(), Array.lastIndexOf() - 일치하는 요소의 위치(인덱스)를 반환하는 메서드

.indexOf()

.indexOf()는 주어진 값과 일치하는 요소의 인덱스를 반환하는 메서드입니다.

문법

array.indexOf( value, start )
  • value : 찾으려는 값을 넣습니다.
  • start : 검색을 시작할 인덱스 값입니다. 생략 가능하고, 생략했을 경우 값은 0입니다.
  • 일치하는 원소가 있다면 인덱스를 반환합니다. 여러 개 있으면 처음 원소의 인덱스를 반환합니다. 없다면 -1을 반환합니다.

예제

배열 원소의 인덱스는 0부터 시작합니다. 즉, 첫번째 원소의 인덱스는 0, 두번째 원소의 인덱스는 1입니다.

[ 'a', 'b', 'c', 'd' ].indexOf( 'a' )

문자열 a의 인덱스인 0을 반환합니다.

[ 'a', 'b', 'c', 'd' ].indexOf( 'b' )

문자열 b의 인덱스인 1을 반환합니다.

[ 'a', 'b', 'c', 'c' ].indexOf( 'c' )

문자열 c가 여러 개 있으면 첫번째 원소의 인덱스 2를 반환합니다.

[ 'a', 'b', 'c', 'd' ].indexOf( 'f' )

문자열 f가 없으므로 -1을 반환합니다.

[ 'a', 'b', 'a', 'c' ].indexOf( 'a', 1 )

문자열 a를 1 인덱스부터 검색합니다. 따라서 2를 반환합니다.

[ '1', 1, 'a', 'b' ].indexOf( 1 )

데이터 타입도 같은 것을 찾습니다. 1을 반환합니다.

.lastindexOf()

.lastIndexOf()는 .indexOf()와 달리 뒤에서부터 검색합니다.

문법

array.lastIndexOf( value, start )
  • value : 찾으려는 값을 넣습니다.
  • start : 검색을 시작할 인덱스 값입니다. 생략 가능하고, 생략했을 경우 제일 뒤에서부터 검색합니다.
  • 일치하는 원소가 있다면 인덱스를 반환합니다. 일치하는 원소가 여러 개 있다면 가장 뒤에 있는 원소의 인덱스를 반환합니다. 없다면 -1을 반환합니다.

예제

document.write( [ 'a', 'a', 'b', 'c', 'd' ].indexOf( 'a' ) );

.indexOf()라면, 앞에서부터 검색했을 때 처음 나오는 문자열 a의 인덱스인 0을 반환합니다.

document.write( [ 'a', 'a', 'b', 'c', 'd' ].lastIndexOf( 'a' ) );

.lastIndexOf()라면, 뒤에서부터 검색했을 때 처음 나오는 문자열 a의 인덱스인 1을 반환합니다.

Related Posts

JavaScript / JavaScript를 HTML 문서에 삽입하는 방법

JavaScript / JavaScript를 HTML 문서에 삽입하는 방법

HTML 문서에 직접 삽입 HTML 문서 안에 <script> 태그를 만들고, 그 안에 사이에 코드를 넣는 방법입니다. <script> alert ("Hello"); </script> 이 방법은 몇 개의 페이지에 JavaScript를 사용하거나, JavaScript 코드가 짧은 경우에 유용합니다. 스크립트 파일을 만든 후 불러오기 JavaScript 코드를 담은 파일을 만든 후 HTML 문서에 연결시키는 방법입니다. 다음과 같은 내용의 파일을 만들고 hello.js라는 이름으로 저장합니다. (스크립트 파일의 ...

JavaScript / Library

JavaScript / Library

Uncategorized html5shiv - IE 8 이하에서 HTML5 태그 지원하게 해주는 라이브러리 imagesLoaded - 이미지가 로드되었음을 감지하는 라이브러리 Masonry - 벽돌 쌓기 모양으로 요소를 배열해주는 라이브러리 Respond.js - IE8 이하에서 미디어 쿼리(Media Query)를 사용하게 해주는 라이브러리 turn.js - 책장을 넘기는 듯한 플립(flip) 효과를 만들어 주는 라이브러리

JavaScript / Object / Math.max(), Math.min()

JavaScript / Object / Math.max(), Math.min()

Math.max(), Math.min() Math.max()는 주어진 값 중에서 최댓값을, Math.min()은 최솟값을 반환합니다. 문법 Math.max( number1, number2, number3, ... ) Math.min( number1, number2, number3, ... ) 예제 1 10, 20, 30 중에서 최댓값과 최솟값을 구합니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> <style> body { font-family: Consolas, monospace; } </style> </head> <body> <script> document.write( '<p>Math.max( 10, 20, 30 ) : ' + Math.max( 10, 20, 30 ) + '</p>' ); document.write( '<p>Math.min( 10, ...

JavaScript / Object / Array.concat() / 기존 배열에 원소 또는 배열을 추가하여 새 배열 만들기

JavaScript / Object / Array.concat() / 기존 배열에 원소 또는 배열을 추가하여 새 배열 만들기

.concat() .concat() 속성을 이용하여 기존 배열에 원소 또는 배열을 추가하여 새 배열을 만들 수 있습니다. 문법 var jbAry2 = jbAry1.concat( 'abc' ); jbAry1 배열에 문자열 abc를 추가하여 jbAry2 배열을 만듭니다. var jbAry3 = jbAry1.concat( jbAry2 ); 두 배열 jbAry1과 jbAry2를 합하여 새로운 배열 jbAry3을 만듭니다. 예제 다음의 두 예제는 같은 결과를 만듭니다. <!doctype html> <html lang="ko"> <head> ...

JavaScript / 데이터 타입 / 문자열(String)

JavaScript / 데이터 타입 / 문자열(String)

문자열(String) 문자열을 변수의 값으로 사용하려면 작은 따옴표(') 또는 큰 따옴표(")로 감쌉니다. var jb = 'Lorem ipsum dolor'; var jb = "Lorem ipsum dolor"; 문자열에 작은 따옴표가 있다면 큰 따옴표로, 큰 따옴표가 있다면 작은 따옴표로 감쌉니다. var jb = 'Lorem "ipsum" dolor.'; var jb = "Lorem 'ipsum' dolor."; 만약 작은 따옴표와 큰 따옴표가 같이 있다면 역슬래시를 이용합니다. var jb ...

JavaScript / 배열(Array) / 선언하기

JavaScript / 배열(Array) / 선언하기

배열 선언하는 방법 방법 1 jbAry라는 배열을 만듭니다. var jbAry = new Array(); 값을 배정합니다. jbAry = 'Lorem'; jbAry = 'Ipsum'; jbAry = 'Dolor'; 방법 2 var jbAry = ; 방법 3 var jbAry = new Array( 'Lorem', 'Ipsum', 'Dolor' ); 예제 배열에 값을 배정한 후 차례대로 출력하는 예제입니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> ...

JavaScript / Object / Element.innerHTML

JavaScript / Object / Element.innerHTML

.innerHTML .innerHTML은 특정 요소의 내용을 가져오거나, 특정 요소의 내용을 변경합니다. 문법 1 element.innerHTML element의 내용을 가져옵니다. 예를 들어 var jb = document.getElementById( 'xyz' ).innerHTML; 은 id의 값이 xyz인 요소의 내용을 변수 jb에 저장합니다. 문법 2 element.innerHTML = content 선택한 element의 내용을 content로 바꿉니다. 예를 들어 document.getElementById( 'xyz' ).innerHTML = 'ABC'; 는 id의 값이 xyz인 요소의 내용을 ABC로 바꿉니다. 예제 1 id의 값이 xyz인 ...

JavaScript / Object / Math.random() / 난수(랜덤 숫자) 만드는 속성

JavaScript / Object / Math.random() / 난수(랜덤 숫자) 만드는 속성

Math.random() Math.random()는 난수(랜덤 숫자)를 만듭니다. 문법 Math.random() 0.673172894273546와 같은 0 이상 1 미만의 난수를 만듭니다. 예제 1 <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> <style> body { font-family: Consolas, monospace; ...

JavaScript / 메모

JavaScript / 메모

인코딩 함수, 디코딩 함수 인코딩 함수 escape() encodeURI() encodeURIComponent() 디코딩 함수 unescape() decodeURI() decodeURIComponent() IE8에서 last-child, nth-child 등 가상 클래스 적용시키는 방법 selectivizr HTML 문서의 style 태그 안에 넣은 CSS 코드에는 적용되지 않는다. 외부 CSS 파일에만 적용됩니다. jQuery, prototype 등 다른 자바스크립트 라이브러리가 필요하다.

JavaScript / Object / Screen / 화면 정보 가져오는 객체

JavaScript / Object / Screen / 화면 정보 가져오는 객체

Screen Screen은 화면 정보를 가져오는 객체입니다. 속성은 다음과 같습니다. screen.width 화면의 가로 크기를 가져옵니다. screen.height 화면의 세로 크기를 가져옵니다. screen.availWidth 작업 표시줄이 차지하는 부분을 제외한 가로 크기를 가져옵니다. screen.availHeight 작업 표시줄이 차지하는 부분을 제외한 세로 크기를 가져옵니다. screen.colorDepth screen.pixelDepth IE는 버전 10 이상에서 사용할 수 있습니다. 예제 <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>JavaScript</title> <style> body { font-family: Consolas, monospace; } </style> ...

JavaScript 강좌