IE/JS:减少对象

Posted

技术标签:

【中文标题】IE/JS:减少对象【英文标题】:IE/JS: reduce on an object 【发布时间】:2011-10-29 00:36:16 【问题描述】:

我的 javascript 应用程序在 firefox 和 chrome 上运行良好。但它在 Internet Explorer (IE 8) 上似乎会被打破。

我没有在控制台日志中收到错误消息。通过调试我注意到的代码,应用程序在以下行中断:

 series.reduce(visit, []);

此时整个函数退出。 我知道,reduce 适用于数组,但console.info(typeof(series)) 告诉:对象

但是这个对象看起来就像一个数组 - 它适用于 FF/Chrome。 这可能是为什么 IE 此时停止处理该函数的原因吗? 以及:如何在 IE 上处理这个问题?

谢谢。

【问题讨论】:

【参考方案1】:

在 IE 9 之前不支持减少:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce#Browser_compatibility

该链接确实为不支持 reduce 的浏览器提供了一些解决方法。

【讨论】:

哦,天哪……就是这样!谢谢!【参考方案2】:

您还可以在此处找到其他 ES5 JavaScript 数组函数 polyfill:

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

【讨论】:

以上是关于IE/JS:减少对象的主要内容,如果未能解决你的问题,请参考以下文章

将对象数组减少为对象[重复]

递归过滤/减少嵌套对象

使用FP减少对象数组中对象的对象

无法根据字符串值减少对象数组

通过键减少数组对象并返回嵌套对象

自动释放对象递减的保留计数何时减少?