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 回答