IE/JS: reduce on an object

2019-04-23 14:29发布

问题:

my javascript Application works on firefox and chrome very well. But it seams to be broken on Internet Explorer (IE 8).

I did not get an error Message on the console-log. By debugging the code I notice, that the application breaks on the following line:

 series.reduce(visit, []);

The whole function exits at this point. I know, that reduce works for arrays, but console.info(typeof(series)) tells: object

But this object exactly looks like an array - and it works on FF/Chrome. Could this be the reason, why IE stops processing the function at this point? And: how to handle this at IE?

Thank you.

回答1:

Reduce is not supported until IE 9 : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce#Browser_compatibility

That link does have a workaround bit of code for browsers that don't support reduce.



回答2:

You can also find other ES5 JavaScript array functions polyfills here:

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