ich den folgenden Code in Coffeescript mit:Mit indexOf in Coffeescript
if elem in my_array
do_something()
Welche dieser Javascript erstellt:
if (__indexOf.call(my_array, elem) < 0) {
my_array.push(elem);
}
ich es mit der Funktion __indexOf sehen kann, die bei der definiert ist Spitze des Skripts.
Meine Frage bezieht sich auf diesen Anwendungsfall: Ich möchte ein Element aus einem Array entfernen, und ich möchte IE8 unterstützen. Ich kann das einfach mit indexOf
und splice
in Browsern, die indexOf
auf einem array
Objekt unterstützen. in IE8 Allerdings funktioniert das nicht:
if (attr_index = my_array.indexOf(elem)) > -1
my_array.splice(attr_index, 1)
ich die __indexOf
Funktion von Coffeescript definiert mit versucht, aber ich bekommen ein reserviertes Wort Fehler in dem Compiler.
if (attr_index = __indexOf.call(my_array, elem) > -1
my_array.splice(attr_index, 1)
So wie kann ich Coffeescript oder gibt es eine unauffällige Methode indexOf für den Aufruf? Es scheint komisch, die gleiche Funktion zweimal zu definieren, nur weil CoffeeScript mich ihre nicht verwenden lässt ...
mögliche Duplikate von [Clean Weg, um Element aus Javascript-Array (mit jQuery, coffeescript) zu entfernen] (http://StackOverflow.com/questions/4825812/clean-way-to-remove-element-von-javascript-array-with-jquery-coffeescript) –