问题描述
我有一个数组,应该从中删除一个元素。为了做到这一点,我必须迭代数组,找到并删除匹配的元素。数组仅根据建议具有 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);