首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECMAScript 6互联网浏览器11 -我必须重新做我的代码吗?

ECMAScript 6互联网浏览器11 -我必须重新做我的代码吗?
EN

Stack Overflow用户
提问于 2019-01-28 17:26:25
回答 1查看 6K关注 0票数 1

用于查找缺失号码的Javascript代码在IE11中不起作用,而是在Chrome和Firefox中工作。我刚知道IE11不支持EMCA6.0

需要重做这一行for(var i=Math.min(...arr); i<Math.max(...arr); i++){

代码语言:javascript
复制
var str = "1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;1001;1002;1003;1004;1005;1006;1007;73;";
function getMissingNumber(str){
  var arr = str.split(/\;/);
  var missingNum = [];
  for(var i=Math.min(...arr); i<Math.max(...arr); i++){
     if(arr.indexOf(i.toString()) === -1){
       missingNum.push(i);
       if(i){
       alert(i);return; }
     }
  }
  return missingNum;
}
console.log(getMissingNumber(str));
//alert(getMissingNumber(str));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-28 17:45:39

一些答案建议您将代码转换到ES5 (使用babel),这是一个可行的解决方案。

因此,如果您的项目很大,并且使用了许多在ES6中不受支持的IE11特性(并且您希望支持IE11),那么babel和/或其他工具是值得检查的(webpack、parcelJs等)。

但是--如果您只需要使该代码符合IE11/ES5,您只需使用apply调用Math.min,如下所示;

Math.min.apply(null, array)

示例使用spread运算符(.)申请:Vasseur/spread-operator-to-ES5-for-array

应用文档:Objects/Function/apply

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54407274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档