IE/JS: уменьшить объект
my javascript Приложение работает на firefox и chrome очень хорошо. Но это швы сломаются в Internet Explorer (IE 8).
Я не получил сообщение об ошибке в консоли-журнале. Отлаживая код, я замечаю, что приложение разбивается на следующую строку:
series.reduce(visit, []);
Вся функция завершается в этой точке.
Я знаю, что reduce
работает для массивов, но console.info(typeof(series))
сообщает: object
Но этот объект точно выглядит как массив - и он работает на FF/Chrome.
Может ли это быть причиной, почему IE перестает обрабатывать функцию на этом этапе?
И: как справиться с этим в IE?
Спасибо.
Ответы
Ответ 1
Сокращение не поддерживается до тех пор, пока IE 9: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce#Browser_compatibility
У этой ссылки есть обходной бит кода для браузеров, которые не поддерживают сокращение.
Ответ 2
Здесь также можно найти другие функции массива массивов ES5 JavaScript:
http://tech.pro/tutorial/1834/working-with-es5-javascript-array-functions-in-modern-and-legacy-browsers#indexof