2

2 つの質問があります。1) jsarray の任意の値を削除することはできますか、または pop メソッドで最後の値のみを削除できますか? 2) jsarray から値を削除または削除するにはどうすればよいですか? 誰かが例を投稿できますか。ここのようなもの

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);

ありがとう!

4

1 に答える 1

4

JavaScript の配列はsparseであるため、たとえば、そこからオブジェクトを削除して、以下のすべてをより低いインデックスに移動することはできません (たとえば、Java でのListように)。少なくともいくつかの削除方法ではありません。

GWT Java のみを使用して、特定のインデックスの値を に設定できますが、nullそれだけです。

JSNI を使用すると、それを削除することも ( undefined:に設定するのとほぼ同じdelete myObjects[1])、削除することもできます。

public static native remove(JsArray<?> arr, int index, int count) /*-{
   arr.splice(index, count);
}-*/;
于 2012-05-01T10:55:39.287 に答える