如果IE不支持Array.from()怎么办?

时间:2019-07-16 05:29:13

标签: javascript

我正在使用Array.from()功能,除IE之外,所有浏览器均支持该功能:

function range(start, end) {
    return Array.from(Array(end - start + 1), (_, i) => i + start);
}

我可以使用什么功能代替Array.from()来使我的代码与IE兼容?

3 个答案:

答案 0 :(得分:4)

使用填充

if (!Array.from) {
    Array.from = (function () {
        // The code gose here...
    })();
}

如Mozilla中所述,请参考以下链接,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill

答案 1 :(得分:0)

使用简单的for循环

function range(start, end) {
    var array = [];
    for(i = start; i<=end; i++) {
      array.push(i);
    }
    return array;
}
console.log(range(3, 5));

答案 2 :(得分:0)

问题不是Array.from是箭头功能,请尝试

function range(start, end) {
  return Array.from(Array(end - start + 1), function (_, i) { return i + start; });
}