我想通过定期删除空节点(很可能是每个偶数或奇数节点)来减小 javascript 数组的大小。有没有一种使用内置 javascript 或 d3.js 方法的简单有效的方法?
背景
对于数据驱动的浏览器内应用程序,我有一个带有索引的数组,表示水平时间尺度上的单位。
初始时间尺度间隔是算法的最佳猜测,但通常远离所有索引点都有与之关联的数据。事实上,根据找到的最小时间间隔,我通常可以识别出未使用元素的规则模式,这些元素可以完全删除而不会影响任何数据。
使用 d3 选择将时间尺度映射到真实数据很容易(忽略空元素),但考虑到这些数组的大小以及它们被传递的事实,早期删除似乎是有意义的。在确实存在数据的地方,它非常大(一棵树),因此最好在原位进行删除,而不是通过创建新数组来进行删除。
从数组文档(本机和 d3.js)中,我看到了几种可能的方法,但对兼容性问题和可能的副作用都有些警惕。也许令人惊讶的是,我也没有找到与数组索引模式匹配相关的示例。
总结一下:
- 要删除的节点遵循某种模式(每个第二个节点等)
- 这些节点保证为空。
- 没有其他依赖项(jQuery 等)谢谢。
非常感谢