解决ie不支持Array的find方法

在使用集团的组件库开发项目时测试出IE浏览器节点无法正常打开,控制台报错不支持find方法:

也有客户反馈遨游浏览器(也是IE内核~🙃)也有同样的问题,这种公共组件库如果没有放弃兼容IE的话就得做好兼容性的判断😂 

这是菜鸟教程上对find方法的说明~通过定义我们可以自己实现find方法,兼容IE11及之前的版本。

if(!Array.prototype.find){
  Array.prototype.find = function(callback) {
      return callback && (this.filter(callback) || [])[0];
  };
}

 使用数组的filter方法过滤符合条件的元素,返回所有符合条件元素的数组,实现find方法取数组第一个元素即可,filter方法兼容IE9及以上。
 

======================================================

在项目中已经使用大量IE不支持的方法没有办法一点点修改的时候我们就要借助js编译器的力量了~

将新语法编译为浏览器可识别的语法去执行。具体用法参照babel官网。

网址:https://www.babeljs.cn/

======================================================

参考:

https://www.runoob.com/jsref/jsref-obj-array.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章