解決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

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