即过滤不受支持

时间:2017-12-20 17:42:17

标签: javascript internet-explorer

即对我不好。我的jquery代码的一部分有一个.filter(),即发脾气说它的语法正确。

有解决方法吗?

该行是

const lines = nar.split("\n").filter(line => line);

1 个答案:

答案 0 :(得分:1)

IE 9 +支持过滤器,但它不支持箭头功能或const,您应该将其替换为:

var lines = nar.split("\n").filter(function (line) { return line; });

你也可以通过使用像babel

这样的东西来解决这个问题

但是,如果你的目标是IE< 9那么你可能还需要polyfill函数

if (!Array.prototype.filter)
  Array.prototype.filter = function(func, thisArg) {
    'use strict';
    if ( ! ((typeof func === 'Function' || typeof func === 'function') && this) )
        throw new TypeError();

    var len = this.length >>> 0,
        res = new Array(len), // preallocate array
        t = this, c = 0, i = -1;
    if (thisArg === undefined)
      while (++i !== len)
        // checks to see if the key was set
        if (i in this)
          if (func(t[i], i, t))
            res[c++] = t[i];
    else
      while (++i !== len)
        // checks to see if the key was set
        if (i in this)
          if (func.call(thisArg, t[i], i, t))
            res[c++] = t[i];

    res.length = c; // shrink down array to proper size
    return res;
  };