2017-06-21 71 views
-1

我想要lambda表達式應該在Internet Explorer中工作。此代碼不適用於我,但它適用於Chrome。ie中的lambda表達式

如何使用lambda表達式使用function或sth else並在此處調用它?
我應該怎麼做這個代碼?

在以下代碼中:(i, e) =>filter方法中不起作用。

我可以將lambda表達式分配給變量或函數嗎?

var query = new RegExp($("#filter").val(), "i"); 
$(".list-item").hide().filter((i, e) => query.test($(e).text())); 
+0

** lambda表達式**在JavaScript中稱爲**胖箭頭函數**。嘗試在**邊**中運行它。 – Jai

+0

IE <11不支持箭頭功能。 – Li357

+1

用babel將它編譯成ES5。 http://caniuse.com/#search=es6 – mkaatman

回答

1

一個簡單的解決方法是使用一個回調定期匿名函數來改變它:

$(".list-item").hide().filter(function(i, e){ 
    return query.test($(e).text()); 
}); 

一點要注意的是,你正在使用的IE瀏覽器可能無法實現這些功能ES6還。因此,最好使用最新的瀏覽器,如鉻,火狐,IE邊緣等。