如何在 Ballerina 中迭代时从数组中删除元素
How to remove an element from an array while iterating in Ballerina
我有一个数组,应该从中删除一个元素。为此,我必须迭代数组,查找并删除匹配的元素。根据建议,数组只有 remove(int index)
方法。我怎样才能做到这一点?
public class Observable {
private Observer[] observers = [];
public function addObserver(Observer observer) {
self.observers.push(observer);
}
public function removeObserver(Observer observer) {
var iterator = self.observers.iterator();
foreach var obs in iterator {
if obs === observer {
// What should be added here?
self.observers.remove()
}
}
}
}
另外,我获取迭代器的方式是否正确?
我认为在 Ballerina 中没有直接的方法可以做到这一点。我建议使用 lang.array:filter
方法并创建一个新数组,不包括您要删除的成员。
int[] ar = [1, 2, 3, 4];
int[] filtered = ar.filter(i => i != 2);
我有一个数组,应该从中删除一个元素。为此,我必须迭代数组,查找并删除匹配的元素。根据建议,数组只有 remove(int index)
方法。我怎样才能做到这一点?
public class Observable {
private Observer[] observers = [];
public function addObserver(Observer observer) {
self.observers.push(observer);
}
public function removeObserver(Observer observer) {
var iterator = self.observers.iterator();
foreach var obs in iterator {
if obs === observer {
// What should be added here?
self.observers.remove()
}
}
}
}
另外,我获取迭代器的方式是否正确?
我认为在 Ballerina 中没有直接的方法可以做到这一点。我建议使用 lang.array:filter
方法并创建一个新数组,不包括您要删除的成员。
int[] ar = [1, 2, 3, 4];
int[] filtered = ar.filter(i => i != 2);