1

我正在考虑推出我自己的解决方案,看看我是否可以使用 moveNext、Reset、Current 以及您可以在 C# 中与 IEnumerator 一起使用的所有其他功能来扩展可观察数组。问题是我无法在 javascript 数组中获得对原语的引用。所以我不得不基于当前的索引。但是,我遇到了一个问题,如果数组被更改,那么我无法判断枚举器应该在数组的哪个元素上。

例如这里是一个数组

[1,3,3,3,3,5]

假设当前是 [2] 的索引

如果删除 [3] 或 [4] 的索引,则 current 将不受影响,但它也与删除 [1] 或 [2] 没有区别。因为我无法记录引用,所以我必须按索引进行,但如果数组中的元素数量发生变化,则枚举器无法判断删除是在当前之前还是之后。甚至在记录阵列的最后一个版本时也是如此。关于如何做到这一点的任何想法,以便电流可以保持准确?如果 current 恰好是被移除的元素,那么让 current 指向下一个元素?

4

0 回答 0