IE / JS: уменьшить на объекте - PullRequest
8 голосов
/ 17 августа 2011

мое javascript-приложение работает на Firefox и Chrome очень хорошо. Но в Internet Explorer (IE 8) это выглядит не так, как надо.

Я не получил сообщение об ошибке в логе консоли. Отлаживая код, я замечаю, что приложение разбивается на следующую строку:

 series.reduce(visit, []);

В этот момент вся функция завершается. Я знаю, что reduce работает для массивов, но console.info(typeof(series)) говорит: object

Но этот объект в точности выглядит как массив - и он работает на FF / Chrome. Может ли это быть причиной того, почему IE прекращает обработку функции в этот момент? И: как справиться с этим в IE?

Спасибо.

Ответы [ 2 ]

18 голосов
/ 17 августа 2011

Уменьшение не поддерживается до IE 9: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce#Browser_compatibility

Эта ссылка содержит обходной код для браузеров, которые не поддерживают уменьшение.

3 голосов
/ 06 июня 2014

Другие функции массива JavaScript ES5 также можно найти здесь:

http://tech.pro/tutorial/1834/working-with-es5-javascript-array-functions-in-modern-and-legacy-browsers#indexof

...