Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Javascript string indexof

String.prototype.indexOf()

На этой странице

Сводка

Метод indexOf() возвращает индекс первого вхождения указанного значения в строковый объект String , на котором он был вызван, начиная с индекса fromIndex . Возвращает -1, если значение не найдено.

Синтаксис

Параметры

Описание

Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке stringName равен stringName.length — 1 .

Регистрозависимость

Метод indexOf() является регистрозависимым. Например, следующее выражение вернёт -1:

Проверка на вхождение

Обратите внимание, что значение 0 не вычисляется в true , а значение -1 не вычисляется в false . Поэтому, для проверки того, что конкретная строка содержится в другой строке, правильно делать так:

Примеры

Пример: использование методов indexOf() и lastIndexOf()

В следующем примере используются методы indexOf() и lastIndexOf() для нахождения значений в строке «Дивный новый мир» .

Пример: метод indexOf() и регистрозависимость

В следующем примере определяются две строковых переменных. Переменные содержат одинаковые строки, за исключение того, что слова во второй строке начинаются с заглавных букв. Первый вызов метода console.log() отобразит 18. Но поскольку метод indexOf() является регистрозависимым, строка «чеддер» в переменной myCapString не будет найдена, так что второй вызов метода console.log() отобразит -1.

Пример: использование метода indexOf() для подсчёта вхождений буквы в строку

Следующий пример устанавливает значение переменной count в количество вхождений буквы в в строку str :

Спецификации

СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение ‘String.prototype.indexOf’ в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение ‘String.prototype.indexOf’ в этой спецификации.
Стандарт

Совместимость с браузерами

ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка(Да)(Да)(Да)(Да)(Да)
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка(Да)(Да)(Да)(Да)(Да)(Да)

Смотрите также

Metadata

  • Последнее изменение: Apr 10, 2019 , помощниками MDN
  1. Стандартные встроенные объекты
  2. String
  3. Свойства
    1. String.prototype
    2. String.length
  4. Методы
    1. String.fromCharCode()
    2. String.fromCodePoint(), используемый в качестве цели гиперссылки.»> String.prototype.anchor(), заставляющий строку отображаться большим шрифтом.»> String.prototype.big(), заставляющий строку мерцать.»> String.prototype.blink(), заставляющий строку отображаться полужирным шрифтом.»> String.prototype.bold()
    3. String.prototype.charAt()
    4. String.prototype.charCodeAt()
    5. String.prototype.codePointAt()
    6. String.prototype.concat()
    7. String.prototype.endsWith(), заставляющий строку отображаться моноширинным шрифтом.»> String.prototype.fixed(), заставляющий строку отображаться шрифтом указанного цвета.»> String.prototype.fontcolor(), заставляющий строку отображаться шрифтом указанного размера.»> String.prototype.fontsize()
    8. String.prototype.includes()
    9. String.prototype.indexOf(), заставляющий строку отображаться курсивом.»> String.prototype.italics()
    10. String.prototype.lastIndexOf(), заставляющий строку отображаться в виде ссылки на другой URL.»> String.prototype.link()
    11. String.prototype.localeCompare()
    12. String.prototype.match()
    13. String.prototype.matchAll()
    14. String.prototype.normalize()
    15. String.prototype.padEnd()
    16. String.prototype.padStart()String.prototype.quote()
    17. String.prototype.repeat()
    18. String.prototype.replace()
    19. String.prototype.search()
    20. String.prototype.slice(), заставляющий строку отображаться маленьким шрифтом.»> String.prototype.small()
    21. String.prototype.split()
    22. String.prototype.startsWith(), заставляющий строку отображаться зачёркнутым текстом.»> String.prototype.strike(), заставляющий строку отображаться подстрочным текстом (нижним индексом).»> String.prototype.sub()String.prototype.substr()
    23. String.prototype.substring(), заставляющий строку отображаться надстрочным текстом (верхним индексом).»> String.prototype.sup()
    24. String.prototype.toLocaleLowerCase()
    25. String.prototype.toLocaleUpperCase()
    26. String.prototype.toLowerCase()String.prototype.toSource()
    27. String.prototype.toString()
    28. String.prototype.toUpperCase()
    29. String.prototype.trim()
    30. String.prototype.trimRight()
    31. String.prototype.trimLeft()
    32. String.prototype.valueOf()
    33. String.prototype[@@iterator]()
    34. String.raw()
  5. Наследование:
  6. Function
  7. Свойства
      Function.argumentsFunction.arity
    1. Function.callerFunction.displayName
    2. Function.length
    3. Function.prototype
    4. Function.name
  8. Методы
    1. Function.prototype.apply()
    2. Function.prototype.bind()
    3. Function.prototype.call()Function.prototype.isGenerator()
    4. Function.prototype.toSource()
    5. Function.prototype.toString()
  9. Object
  10. СвойстваObject.prototype.__count__Object.prototype.__noSuchMethod__Object.prototype.__parent__Object.prototype.__proto__
  11. Object.prototype.constructor
  • Методы
      Object.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()
    1. Object.prototype.hasOwnProperty()
    2. Object.prototype.isPrototypeOf()
    3. Object.prototype.propertyIsEnumerable()
    4. Object.prototype.toLocaleString()Object.prototype.toSource()
    5. Object.prototype.toString()Object.prototype.unwatch()
    6. Object.prototype.valueOf()Object.prototype.watch()
    7. Object.setPrototypeOf()
  • Mozilla

    © 2005- 2020 Mozilla and individual contributors.

    Читать еще:  Как восстановить документ эксель если не сохранил

    Content is available under these licenses.

    Войти

    Войдите, чтобы насладиться преимуществами аккаунта MDN. Если вы ещё не создали аккаунт, вам будет предложено сделать это после входа в систему.

    JavaScript: includes vs indexOf

    Начиная с ECMAScript 2016 в JavaScript появился новый метод includes для работы с массивами. По своей сути он очень сильно напоминает indexOf. В этой статье я хочу рассмотреть подробнее для чего был введен этод метод и в чем его отличие от indexOf.

    Массивы

    Итак, метод Array.prototype.includes определяет содержится ли в массиве искомое значение и возвращает true или false. Таким образом, в отличие от indexOf, который возвращает целое число, includes возвращает значение типа boolean. Это нововведение поможет разработчикам писать более чистый и понятный код.

    Например, вот стандартный пример проверки того, содержится ли элемент в массиве, с помощью indexOf:

    Используя includes, то же самое можно написать так:

    Также при внедрении этого метода были учтены некоторые неочевидные особенности, замеченные при работе с indexOf. В отношении значений NaN поведение этого метода отличается.

    Рассмотрим на примере:

    Таким образом, indexOf(NaN) всегда возвращает -1, независимо от того содержится ли это значение в массиве, а includes(NaN) возвращает true или false в зависимости от того есть этот элемен в массиве или нет.

    Производительность

    Оценка производительности javascript методов не такая уж очевидная вешь, так как по сути в разных браузерах одна и та же функция может быть реализована по-разному в зависимости от языка, на котором написан сам браузер. К тому же очень много зависит от компьютера, на котором делается эта оценка. Но, тем не менее, я попытался сделать небольшой анализ.

    Я создал массив из 10000 целых положительных чисел и использовал для анализа сайт jsbench.github.io. В обоих случаях, для чистоты эксперимента, был использован один и тот же массив. Оценка производилась в браузерах Chrome 53 и Firefox 48.

    Chrome
    includesindexOf
    элемент есть
    в середине массива
    8,361 ops/sec ±0.38%31,296 ops/sec ±0.65%
    элемент есть
    в начале массива
    22,043,904 ops/sec ±1.89%136,512,737 ops/sec ±2.06%
    искомого эелемента
    нет в массиве
    4,018 ops/sec ±0.71%95,221 ops/sec ±0.53%

    Firefox
    includesindexOf
    элемент есть
    в середине массива
    84,880 ops/sec ±0.59%86,612 ops/sec ±1.35%
    элемент есть
    в начале массива
    34,087,623 ops/sec ±0.99%33,196,839 ops/sec ±0.84%
    искомого эелемента
    нет в массиве
    25,253 ops/sec ±2.75%14,994 ops/sec ±1.16%

    Получается, что в Chrome indexOf всегда работает быстрее, а в Firefox ощутимой разницы практически нет (кроме случая, когда в массиве нет искомого элемента). И поведение нового метода в Firefox кажется более логичным, так как в общем-то indexOf и includes по логике должны иметь одну и ту же вычислительную сложность.

    Строки

    Аналогичный метод был добавлен и для работы со строками начиная с ECMAScript 2015. Ранее в Firefox в версиях с 18 по 39 этот метод существовал под именем contains, однако из-за проблем совместимости он был переименован в includes().

    Читать еще:  Драйвер видеокарты перестал отвечать и был восстановлен

    Javascript String indexOf Example | Javascript indexOf()

    Javascript String indexOf() is an inbuilt function that returns an index within the calling String object of the first occurrence of a specified value, starting the search at fromIndex(). It returns -1 if the value is not found. The indexOf() method is case sensitive.

    Javascript String indexOf Example

    Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character of a string called stringName is stringName.length-1. The syntax of the Javascript string indexOf() method is the following.

    The searchValue is a required field. It is the string that we need to search for.

    The start parameter is optional. The default is 0 at which position to start the search in a string.

    The indexOf returns the index of the string (0-based) where the searchValue is found for the first time. If the searchValue cannot be found in the string, then the function returns -1. The method checks each substring against searchValue using strict equality (===), which means this method is case sensitive.

    The indexOf method is case sensitive. For example, the following expression returns -1.

    Here, we are looking for small-cap winter which is not present in the string. So it will return -1 position.

    See another following example. We will count the appearances of a character in a string using the following code.

    So, in the above code, we have provided one string, and we will count the i character appear in that screen and printing on the console.

    #indexOf() to count occurrences of a letter in a string

    Let’s count the number of occurrences of the letter b in the string.

    In the above example, we will count the occurrence of b character. String indexOf() character is case sensitive, so it will not count the B character.

    #Includes() vs indexOf() in JS

    Javascript string includes() method determines whether one string may be found within another string, returning true or false as appropriate.

    The indexOf() method returns an index within the calling String object of the first occurrence of a specified value, starting the search at fromIndex().

    #Javascript String indexOf for case insensitive

    Let’s say I have a string which is like “Krunal” and still I want to match that string with “krunal”.

    We can use the .toLowerCase() function with indexOf() function. See the following code with differnet string and see the output.

    #Javascript String indexOf with regex

    We can also use the Javascript regex to match the pattern.

    Let’s see the above example and if we find the match then it will print Match found otherwise not.

    We have achieved using a Regular Expression and it is especially useful when you want to test against dynamic patterns.

    Читать еще:  Восстановление базы данных sql без резервной копии

    #Difference between String indexOf() and search()

    If you require the regular expression, use search(). Otherwise, indexOf() is going to be faster.

    Javascript search() function takes the regular expression, which allows you to match against more sophisticated patters, case-insensitive strings, etc.

    An indexOf simply matches the literal string. However, indexOf also allows you to specify a beginning index.

    At last, Javascript String indexOf Example | Javascript indexOf() article is over.

    JavaScript-методы indexOf и lastIndexOf: находим элемент в массиве

    В статье рассказывается о том, как использовать методы JavaScript indexOf и lastIndexOf для определения расположения элемента внутри массива.

    Знакомство с методом indexOf

    Чтобы определить расположение элемента в массиве, можно воспользоваться методом indexOf() . Он возвращает индекс первого вхождения элемента, либо -1 , если он не найден.

    Ниже приведен синтаксис метода indexOf() :

    Метод indexOf() принимает два аргумента. searchElement -это элемент, который нужно найти в массиве. fromIndex – это индекс массива, с которого нужно начать поиск.

    Аргумент fromIndex в качестве значения может принимать как положительное, так и отрицательное целое число. Если значение аргумента fromIndex будет отрицательным, метод indexOf() начнет поиск по всему массиву плюс значение fromIndex . Если опустить аргумент fromIndex , то метод начнет поиск с элемента 0 .

    Учтите, что метод JavaScript array indexOf() при сравнении searchElement с элементами в массиве, использует алгоритм строгого равенства , схожий с оператором “ тройное равно ” (===) .

    Примеры применения метода indexOf()

    Предположим, что есть массив scores , в котором содержится шесть чисел:

    В следующем примере метод indexOf() используется для поиска элементов в массиве scores :


    В примере используется fromIndex с отрицательными значениями:

    Предположим, что есть массив объектов. У каждого из них два свойства: name и age :

    Следующие выражение возвращает -1 , даже если у первого элемента массива guests и searchElement будут одинаковые значения свойств name и age . Так как это два разных объекта:

    Иногда нужно находить индексы всех упоминаний элемента в массиве. В приведенном ниже примере для этого в функции find() используется метод массива JavaScript indexOf() :

    В следующем примере функция find() используется для возврата массива с позициями числа 10 в массиве scores :

    Знакомство с методом lastIndexOf()

    У массивов есть еще один метод — lastIndexOf() , который предлагает почти тот же функционал, что и indexOf() .

    Синтаксис метода lastIndexOf() :

    Метод возвращает индекс последнего вхождения searchElement в массиве. Если элемент не найден, будет возвращено значение -1 .

    В отличие от метода JavaScript indexOf() , lastIndexOf() сканирует массив в обратном направлении, начиная от значения fromIndex .

    Представленное ниже выражение возвращает последние индексы чисел 10 и 20 в массиве scores :

    Примеры использования метода lastIndexOf()

    Так как число 50 не находится в массиве, следующее выражение вернет -1 .

    Мы научились использовать методы JavaScript indexOf() string и lastIndexOf() для поиска элементов в массиве.

    Данная публикация представляет собой перевод статьи « JavaScript Array indexOf and lastIndexOf: Locating an Element in an Array » , подготовленной дружной командой проекта Интернет-технологии.ру

    Ссылка на основную публикацию
    Adblock
    detector