2016-09-12 2 views
1

Ich habe gerade ein kleines Formular abgeschlossen und herausgefunden, dass, wie ich findIndex verwende nicht mit IE funktioniert.Javascript findIndex Problem mit IE

Hier ist ein Beispiel für das Problem.

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

Was wäre der schnellste Weg, um dieses Problem für den IE zu beheben?

+0

Kennen Sie schon [Wie beheben Array indexOf() in JavaScript für Internet Explorer Browser] (http://stackoverflow.com/ Fragen/1744310/How-To-Fix-Array-Index von-in-Javascript-for-Internet-Explorer-Browsern)? –

+0

Verwenden Sie ein Polyfill, z. B. das [hier] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex). –

+0

^^ + IE11 unterstützt keine ES6-Pfeilfunktionen. – Teemu

Antwort

0

Fund Index Unterstützung für Browser

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 

So müssen Sie den Code etwas ähnliches wie unten ändern in allen Browsern zu arbeiten.

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

More info

0

dies ist am besten für IE

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

Warum denkst du das? –

+0

weil ich es getestet habe und ich hatte das gleiche Problem – mister