2013-12-24 4 views
0

Скажем, у меня есть строка: var a = 'testString';Как индексировать сразу две вещи?

Тогда я получил индекс t:

return a.indexOf('t'); 

Это даст 0. Теперь я собираюсь получить индекс '':

return a.indexOf(''); 

Это также дает 0, но если я возвращаю a.charAt(0), он возвращает 't'. Как возможно a.indexOf('') и a.indexOf('t') оба равны 0?

+1

Что вы понимаете под индексом '' ''пустая строка –

+1

@falinsky - JavaScript! = Java , – nnnnnn

+0

@nnnnnn Lol, не имеет значения язык, пустая строка все еще пустая строка ... – Cilan

ответ

4

Поскольку пустая строка является подстрокой каждой строки. indexOf указан для возврата наименьшего индекса, который соответствует подстроке, поэтому индекс, возвращаемый для любой строки, всегда будет 0.

+0

Конечно! И я перечитываю это, и получается, что indexOf дает первое вхождение (в основном то, что вы говорите). – Cilan

+2

@ManofSnow: Это то же самое, что пустой набор является подмножеством каждого набора. –

Смежные вопросы