<!DOCTYPE html>
<html lang="ru">
	<head>
		<meta charset="utf-8">
		<title>Метод indexOf - поиск по массиву на JavaScript | </title>
		
		<link rel="stylesheet" href="/tore/@/fonts/listΣ.css?v=1">
<link rel="stylesheet" href="/tore/layd/deff/&/aefb44b7dac371a3860e9079298a950e.ructΣ.css">
<link rel="stylesheet" href="/tore/&/2290bf7aeadc4261337d6f570a3cf0c5.apprΣ.css">

<script src="/tore/&/77748427269d1c81490f5acb6ce46fc1.apprΣ.js" defer></script>


<meta name="yandex-verification" content="00eb45b7559e5c68">
<meta name="google-site-verification" content="Af0TM2OrwIEtjoQXxYz2-1C-21E1m7DB23_kWpE9sLg">
<meta name="viewport" content="width=device-width, initial-scale=1.0">		
		<meta name="description" content="Метод indexOf ищет элементы по массиву на JavaScript. Возвращает номер первого найденного элемента либо -1, если такого элемента нет.">
		<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
	</head>
	<body id="top" data-gq="N">
		<div data-r="ruct/wrap">
			<header>
				<div data-r="ruct/topp">
	<div data-r="topp/left">
		<div data-w="nict/logo">
	<img data-e="img" data-x src="" alt="">
</div>	</div>
	<div data-r="topp/righ">
		offline version v3	</div>
	<div data-r="topp/cent">
		<div data-w="nict/adv">
			<a href="https://mentor.code.mu">
			Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,<br>
			<b>а также</b>: помощь в поиске работы и заказов, стажировка
			на реальных проектах&rarr;
		</a>
	</div>	</div>
</div>								
				<div data-r="ruct/navi">
					<div data-w="nict/over">
					<a href="/ru/javascript/manual/" data-e="link" data-x>menu</a>
	</div>					<nav data-w="nict/mainmenu">
	<section data-e="main" data-x data-gm-acte="T">
		<span data-q-href="/ru/markup/" data-e="open" data-x data-m-targ="markup">Верстка</span>
		<span data-q-href="/ru/javascript/" data-e="open" data-x data-m-targ="javascript">JavaScript</span>
		<span data-q-href="/ru/php/" data-e="open" data-x data-m-targ="php">PHP</span>
		<span data-q-href="/ru/javascript/typescript/" data-e="open" data-x data-m-targ="typescript">TypeScript</span>
		<span data-q-href="/ru/javascript/nodejs/" data-e="open" data-x data-m-targ="nodejs">NodeJS</span>
		<span data-q-href="/ru/python/" data-e="open" data-x data-m-targ="python">Python</span>
		<span data-q-href="/ru/java/" data-e="open" data-x data-m-targ="java">Java</span>
		<span data-q-href="/ru/cpp/" data-e="open" data-x data-m-targ="cpp">C++</span>
		<span data-q-href="/ru/rust/" data-e="open" data-x data-m-targ="rust">Rust</span>
		<span data-q-href="/ru/sql/" data-e="open" data-x data-m-targ="sql">SQL</span>
		<span data-q-href="/ru/javascript/framework/vue/" data-e="open" data-x data-m-targ="vue">Vue</span>
		<span data-q-href="/ru/javascript/framework/react/" data-e="open" data-x data-m-targ="react">React</span>
		<span data-q-href="/ru/javascript/framework/angular/" data-e="open" data-x data-m-targ="angular">Angular</span>
		<span data-q-href="/ru/javascript/lib/jquery/" data-e="open" data-x data-m-targ="jquery">jQuery</span>
		<span data-q-href="/ru/php/framework/laravel/" data-e="open" data-x data-m-targ="laravel">Laravel</span>
		<span data-q-href="/ru/git/" data-e="open" data-x data-m-targ="git">Git</span>
		<span data-q-href="/ru/tool/webpack/" data-e="open" data-x data-m-targ="webpack">Webpack</span>
		<span data-q-href="/ru/tool/gulp/" data-e="open" data-x data-m-targ="gulp">Gulp</span>
		<span data-q-href="/ru/tool/terminal/" data-e="open" data-x data-m-targ="terminal">Terminal</span>
		<span data-q-href="/ru/internet/" data-e="open" data-x data-m-targ="internet">Internet</span>
		<span data-q-href="/ru/theory/glossary/" data-e="open" data-x data-m-targ="glossary">Глоссарий</span>
		<span data-q-href="/ru/theory/slang/" data-e="open" data-x data-m-targ="slang">Сленг</span>
		<span data-e="open" data-x data-m-targ="social">Соц. сети</span>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="markup">
		<a href="/ru/markup/book/prime/">Основной учебник</a>
		<a href="/ru/markup/book/supreme/">Высший учебник</a>
		<a href="/ru/markup/book/prep/less/">Учебник LESS</a>
		<a href="/ru/markup/book/prep/sass/">Учебник SASS</a>
		<a href="/ru/markup/manual/html/">Справочник HTML</a>
		<a href="/ru/markup/manual/css/">Справочник CSS</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="php">
		<a href="/ru/php/book/prime/">Основной учебник</a>
		<a href="/ru/php/book/supreme/">Высший учебник</a>
		<a href="/ru/php/book/oop/">Учебник ООП и MVC</a>
		<a href="/ru/php/book/parsing/">Учебник парсинга</a>
		<a href="/ru/php/tasker/stager/">Задачник по уровням</a>
		<a href="/ru/php/manual/">Справочник</a>
		<a href="/ru/php/video/lesson/">Видеоуроки</a>
		<a href="/ru/php/faq/">FAQ</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="javascript">
		<a href="/ru/javascript/book/prime/">Основной учебник</a>
		<a href="/ru/javascript/book/practice/">Учебник практики</a>
		<a href="/ru/javascript/book/supreme/">Высший учебник</a>
		<a href="/ru/javascript/book/oop/">Учебник ООП</a>
		<a href="/ru/javascript/tasker/stager/">Задачник по уровням</a>
		<a href="/ru/javascript/manual/">Справочник</a>
		<a href="/ru/javascript/video/lesson/">Видеоуроки</a>
		<a href="/ru/javascript/mistake/">Ошибки</a>
		<a href="/ru/javascript/faq/">FAQ</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="nodejs">
		<a href="/ru/javascript/nodejs/book/prime/">Основной учебник</a>
		<a href="/ru/javascript/nodejs/book/express/">Express</a>
		<a href="/ru/javascript/nodejs/book/mongo/">Mongo</a>
		<a href="/ru/javascript/nodejs/book/hosting/">Хостинг</a>
		<a href="/ru/javascript/nodejs/manual/">Справочник</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="python">
		<a href="/ru/python/book/prime/">Основной учебник</a>
		<a href="/ru/python/book/supreme/">Высший учебник</a>
		<a href="/ru/python/manual/">Справочник</a>
		<a href="/ru/python/faq/">FAQ</a>
		<a href="/ru/python/tasker/stager/">Задачник по уровням</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="java">
		<a href="/ru/java/tasker/stager/">Задачник по уровням</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="cpp">
		<a href="/ru/cpp/tasker/stager/">Задачник по уровням</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="rust">
		<a href="/ru/rust/tasker/stager/">Задачник по уровням</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="sql">
		<a href="/ru/sql/manual/">Справочник</a>
		<a href="/ru/sql/tasker/stager/">Задачник по уровням</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="typescript">
		<a href="/ru/javascript/typescript/book/prime/">Основной учебник</a>
		<a href="/ru/javascript/typescript/book/supreme/">Высший учебник</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="vue">
		<a href="/ru/javascript/framework/vue/book/prime/">Основной учебник</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="react">
		<a href="/ru/javascript/framework/react/book/prime/">Основной учебник</a>
		<a href="/ru/javascript/framework/react/book/supreme/">Высший учебник</a>
		<a href="/ru/javascript/framework/react/book/redux/">Учебник Redux</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="angular">
		<a href="/ru/javascript/framework/angular/book/prime/">Основной учебник</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="jquery">
		<a href="/ru/javascript/lib/jquery/book/prime/">Основной учебник</a>
		<a href="/ru/javascript/lib/jquery/manual/">Справочник</a>
	</section>

	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="laravel">
		<a href="/ru/php/framework/laravel/book/prime/">Основной учебник</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="git">
		<a href="/ru/git/book/prime/">Основной учебник</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="terminal">
		<a href="/ru/tool/terminal/">Учебник по командной строке</a>
	</section>
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="webpack">
		<a href="/ru/tool/webpack/">Учебник Webpack</a>
	</section>
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="gulp">
		<a href="/ru/tool/gulp/">Учебник Gulp</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="internet">
		<a href="/ru/internet/protocol/http/">Протокол HTTP</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="glossary">
		<a href="/ru/theory/glossary/">Глоссарий программистских терминов</a>
	</section>
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="slang">
		<a href="/ru/theory/slang/">Сленг программиста</a>
	</section>
	
	<section data-e="subb" data-x data-gm-acte="F" data-m-tabb="social">
		<a href="https://vk.com/codemu">Паблик сайта code.mu</a>
		<a href="https://t.me/javascript_tricker">Занимательные задачи JavaScript</a>
		<a href="https://t.me/php_tricker">Занимательные задачи PHP</a>
	</section>
</nav>									</div>
			</header>
			<main>
				<div data-w="nict/hett">
	<h1>Метод indexOf</h1>
</div>				<div data-p="cont/pane">
<p>
	Метод <code data-gs="comd/c" data-x>indexOf</code> осуществляет поиск элемента
	в массиве. В первом параметре
	указываем элемент для поиска.
	Метод возвращает номер первого найденного элемента,
	либо <code data-gs="comd/n" data-x>-1</code>, если такого элемента нет.
	Второй необязательный параметр метода
	задает позицию, с которой следует
	начинать поиск.
</p>

<h2>Синтаксис</h2>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">массив.indexOf(элемент, [откуда начинать]);</code>
</div>

<h2>Пример <span data-gn="sect"></span></h2>
<p>
	Давайте найдем позицию первой тройки в массиве:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);

console.log(res);</code>
</div>
<p>
	Результат выполнения кода:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">2</code>
</div>

<h2>Пример <span data-gn="sect"></span></h2>
<p>
	Пусть теперь проверяемого элемента нет в массиве:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);

console.log(res);</code>
</div>
<p>
	Результат выполнения кода:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">-1</code>
</div>

<h2>Пример <span data-gn="sect"></span></h2>
<p>
	Начнем поиск с заданной позиции:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);

console.log(res);</code>
</div>
<p>
	Результат выполнения кода:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">5</code>
</div>

<h2>Частая ошибка</h2>
<p>
	Иногда метод используют для проверки
	наличия элемента в массиве. В этом
	случае легко допустить ошибку, если
	выполнить проверку следующим
	образом:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">if (arr.indexOf(3)) {
	console.log(true);
} else {
	console.log(false);
}</code>
</div>
<p>
	Такая проверка будет работать для
	всех позиций, кроме нулевой - ведь
	она трактуется как <code data-gs="comd/c" data-x>false</code>.
</p>
<p>
	Правильно проверять наличие элемента
	следующим образом:
</p>
<div data-p="bock/pane">
	<code data-w="bock/code" data-lo="high" data-m-lang="javascript">if (arr.indexOf(3) !== -1) {
	console.log(true);
} else {
	console.log(false);
}</code>
</div>

<h2>Смотрите также</h2>
<div data-w="cont/also">
	<ul>
		<li>
			метод <a href="/ru/javascript/manual/array/includes/"><code data-gs="comd/c" data-x>includes</code></a>, <br>
			который проверяет наличие элемента в массиве
		</li>
		<li>
			метод <a href="/ru/javascript/manual/array/lastIndexOf/"><code data-gs="comd/c" data-x>lastIndexOf</code></a>, <br>
			который ищет элементы с конца
		</li>
		<li>
			метод <a href="/ru/javascript/manual/array/at/"><code data-gs="comd/c" data-x>at</code></a>, <br>
			который возвращает элемент массива по его индексу
		</li>
		<li>
			метод <a href="/ru/javascript/manual/regular/match/"><code data-gs="comd/c" data-x>match</code></a>, <br>
			который ищет совпадения в строке
		</li>
		<li>
			метод <a href="/ru/javascript/manual/regular/search/"><code data-gs="comd/c" data-x>search</code></a>, <br>
			который выполняет поиск
		</li>
	</ul>
</div>
</div>			</main>
						<footer data-w="ruct/foot">
				<div data-w="nict/finf">
	<span data-e="text" data-x>
		Трепачёв Дмитрий &copy; 2012-2024	</span>
	<br>
	<a data-e="link" data-x href="https://t.me/trepachev_dmitry">t.me/trepachev_dmitry</a>
</div>							</footer>
			<div data-w="nict/jump">
	<a href="#top"><span>&uarr;</span></a>
</div>			<div data-w="nict/lagr">
	<a href="/en/javascript/manual/array/indexOf/" data-m-curr="F">en</a><a href="/ru/javascript/manual/array/indexOf/" data-m-curr="T">ru</a></div>					</div>
		
		<script src="/tore/@/metrikaΣ.js?v=1"></script>	</body>
</html>