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

我是编程新手,我刚刚偶然发现了一个我还不完全理解的问题。我到处寻找类似的问题及其解决方案,但我不知道如何解决这个问题。因此,我寻求您的帮助,以了解在没有扩展运算符和在 IE 中不起作用的解构的情况下执行此代码的最佳方法。


这是我拥有的代码以及我需要适应的代码才能在 IE 11 上运行:


computed: {

            quantityValues: function () {

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

            }

        }

预先感谢大家的回答。


慕森王
浏览 95回答 3
3回答

幕布斯6054654

computed: {&nbsp; &nbsp; quantityValues: function () {&nbsp; &nbsp; &nbsp; &nbsp; var arr = [];&nbsp; &nbsp; &nbsp; &nbsp; for(var i = 0; i < 5; i += 1) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arr.push(i + this.currentQuantity + 1)&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return arr;&nbsp; &nbsp; }}这有帮助吗?

德玛西亚99

IE11 不支持扩展和键,因此您必须替换它才能填充quantityValues: function () {&nbsp; var currentQuantity = this.currentQuantity&nbsp;&nbsp; return new Array(5)&nbsp; &nbsp; .fill(undefined)&nbsp; &nbsp; .map(function (v, i) {&nbsp;&nbsp; &nbsp; &nbsp; return i + currentQuantity + 1;&nbsp;&nbsp; &nbsp; });}

LEATH

对于 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: {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; quantityValues: function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return Array(5).keys().concat().map(function (v) { return v + this.currentQuantity + 1; }.bind(this));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }但是对于.keys()我不会说你需要一个扩展运算符,因为Array(5)已经创建了一个唯一的实例:Array(5).keys().map...适合。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript