2016-09-12 2 views
1

Я только что закончил небольшую форму и узнал, что то, как я использую findIndex, не работает с IE.javascript findIndex проблема с IE

Вот пример проблемы.

var people = [ 
    {name:"Mike", age:"25"}, 
    {name:"Bill", age:"35"}, 
    {name:"Terry", age:"44"} 
]; 
console.log(people.findIndex(x => x.name=="Bill")); 

Что было бы самым быстрым способом устранить эту проблему для IE?

+0

Вы видели [Как исправить массив IndexOf() в JavaScript для браузеров Internet Explorer] (http://stackoverflow.com/ вопросы/1744310/как к фикс-массив IndexOf-в-JavaScript-для-интернет-проводниковой-браузеры)? –

+0

Используйте полиполк, такой как [здесь] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex). –

+0

^^ + IE11 не поддерживает функции стрелок ES6. – Teemu

ответ

0

найти поддержку индекса для браузеров

Chrome 45.0 and above: Supports 

    Firefox 25.0 and above: Supports 

    Internet Explorer: No support 

    Microsoft Edge: Supports 

    Opera: Supports 

    Safari 7.1 and above: Supports 

Таким образом, вы должны изменить свой код что-то похожее на ниже, чтобы работать во всех браузерах.

var index; 
for(var i=0;i<people.length;i++){ 
    if(people[i].name == 'billi'){ 
    index = i 
} 
} 

More info

0

это лучше для IE

people.findIndex(function(x){ x.name=="Bill" })); 
+0

Почему вы так думаете? –

+0

потому что я тестировал его, и у меня была такая же проблема – mister

Смежные вопросы