Frage an gwt – Wie lösche ich einen Wert aus jsarray in GWT?

2

Ich habe zwei Fragen: 1) Ist es möglich, einen beliebigen Wert in jsarray oder nur den letzten mit der Pop-Methode zu löschen? 2) Wie kann ich einen Wert aus jsarray entfernen oder löschen? kann jemand ein beispiel posten. so etwas hier

<code>public JsArray<MyObject> myObjects = JavaScriptObject.createArray().cast();
myObjects.push(new MyObject("Good"));
myObjects.push(new MyObject("morning"));
myObjects.push(new MyObject("people"));
myObjects.delete(1);
</code>

vielen Dank!

Deine Antwort

1   die antwort
4

Arrays in JavaScript sindspärlichSie können also zum Beispiel kein Objekt daraus entfernen und alle folgenden Elemente in niedrigere Indizes verschieben (wie Sie es in Java mit a getan hätten)List zum Beispiel); Zumindest nicht bei einigenLöschen Methode.

Wenn Sie nur GWT Java verwenden, können Sie den Wert an einem bestimmten Index auf festlegennull, aber das ist es.

Mit JSNI können Sie es löschen (fast gleichbedeutend mit der Einstellung aufundefined: delete myObjects[1]) oder Sie können es entfernen:

<code>public static native remove(JsArray<?> arr, int index, int count) /*-{
   arr.splice(index, count);
}-*/;
</code>
Irgendeine Idee warumes funktioniert hier nicht? : / displayname

Verwandte Fragen