我正在考虑推出自己的解决方案,看看我是否可以扩展一个可观察的数组,例如moveNext,Reset,Current,以及可以在C#中与IEnumerator一起使用的所有其他功能。问题是我无法在javascript数组中获得对基元的引用。所以我必须以当前索引为基础。然而,我遇到了一个问题,如果数组被更改,那么我无法分辨枚举器应该在哪个数组元素。
例如这里是一个数组
[1,3,3,3,3,5]
让我们说当前的指数为[2]
如果删除了[3]或[4]的索引,那么电流将不受影响,但它也与删除[1]或[2]无法区分。因为我不能记录索引,我必须通过索引,但如果数组中的元素数量发生变化,那么枚举器无法判断删除是否在当前之前或之后。这甚至可以记录阵列的最后一个版本。有什么想法如何解决这个问题,以便电流保持准确?如果当前恰好是移除了元素,那么要使当前指向下一个元素吗?