23 авг. 2011 г.

Тонкости split() в IE

Чисто случайно (впрочем, как обычно это и происходит) при разборе на стороне клиента CSV-подобного ответа сервера обнаружил различие в результатах String#split(RegExp) и String#split(String) в Internet Explorer 6, 7 и 8 версий (в 9 и 10 не проверял):

"1||2".split(/\|/) // вернёт ["1", "2"]
"1||2".split("|")  // вернёт ["1", "", "2"]

То есть при вызове split с регулярным выражением осёл IE считает подряд идущие совпадения одним совпадением и пустых элементов в результате не возвращает, в отличие от вызова split с использованием строки. Во всех остальных браузерах split возвращает одинаковые результаты (с пустыми элементами).

Комментариев нет:

Отправить комментарий