为了账号安全,请及时绑定邮箱和手机立即绑定

不支持 IE 扩展运算符和解构

不支持 IE 扩展运算符和解构

慕森王 2022-07-21 10:02:48
我是编程新手,我刚刚偶然发现了一个我还不完全理解的问题。我到处寻找类似的问题及其解决方案,但我不知道如何解决这个问题。因此,我寻求您的帮助,以了解在没有扩展运算符和在 IE 中不起作用的解构的情况下执行此代码的最佳方法。这是我拥有的代码以及我需要适应的代码才能在 IE 11 上运行:computed: {            quantityValues: function () {                return [...Array(5).keys()].map(function (v) { return v + this.currentQuantity + 1; }.bind(this));            }        }预先感谢大家的回答。
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

computed: {

    quantityValues: function () {

        var arr = [];

        for(var i = 0; i < 5; i += 1) {

          arr.push(i + this.currentQuantity + 1)

        }

        return arr;

    }

}

这有帮助吗?


查看完整回答
反对 回复 2022-07-21
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

IE11 不支持扩展和键,因此您必须替换它才能填充


quantityValues: function () {

  var currentQuantity = this.currentQuantity 

  return new Array(5)

    .fill(undefined)

    .map(function (v, i) { 

      return i + currentQuantity + 1; 

    });

}


查看完整回答
反对 回复 2022-07-21
?
LEATH

TA贡献1936条经验 获得超6个赞

对于 IE,您需要重写代码以避免使用扩展运算符或使用将为您执行此操作的 babel 插件:https ://babeljs.io/docs/en/babel-plugin-transform-es2015-spread 。


var a = ['a', 'b', 'c'];

var b = [...a, 'foo'];


var a = [ 'a', 'b', 'c' ];

var b = [].concat(a, [ 'foo' ]);

在你的情况下,这意味着


computed: {

            quantityValues: function () {

                return Array(5).keys().concat().map(function (v) { return v + this.currentQuantity + 1; }.bind(this));

            }

        }

但是对于.keys()我不会说你需要一个扩展运算符,因为Array(5)已经创建了一个唯一的实例:Array(5).keys().map...适合。


查看完整回答
反对 回复 2022-07-21
  • 3 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信