Javascript“地图”在 IE 中不起作用

Ebi*_*ser 1 javascript jquery map

我有以下 javascript -

var trim = intsAsJSArray.replace(/[\[\]]/g, "");
       var data = trim.split(",");

       data = data.map(function (d) {
           return +d;
       });
Run Code Online (Sandbox Code Playgroud)

但是,这在 IE 中失败并出现错误 -

Error: Object doesn't support property or method 'map'
Run Code Online (Sandbox Code Playgroud)

这很令人困惑,因为它同时适用于 Chrome 和 FireFox。为什么是这样?

rai*_*7ow 7

IE8不支持大多数 ES5 数组方法——包括Array.map. 因此,您必须要么使用扩展的ES5 垫片Array.prototype,要么切换到将 ES5 方法附加到它们自己的对象的库 - 如 jQuery ( $.map ) 和Underscore ( _.map )。

当你用jquery标签标记你的问题时,你很有可能已经使用过一个,所以像这样改变你的代码就足够了:

var data = $.map(trim.split(","), Number);
Run Code Online (Sandbox Code Playgroud)