接口:IHeapNodes
一个伪数组,包含所有堆图节点(堆中的 JS 对象)。一个 JS 堆可能包含数百万个对象,因此 memlab 使用伪数组作为所有堆节点的集合。伪数组提供 API 来查询和遍历所有堆对象。
readonly
不建议修改此伪数组
- 示例:
import type {IHeapSnapshot, IHeapNodes} from '@memlab/core';
import {dumpNodeHeapSnapshot} from '@memlab/core';
import {getFullHeapFromFile} from '@memlab/heap-analysis';
(async function () {
const heapFile = dumpNodeHeapSnapshot();
const heap: IHeapSnapshot = await getFullHeapFromFile(heapFile);
const nodes: IHeapNodes = heap.nodes;
nodes.length;
nodes.get(0);
nodes.forEach((node, i) => {
if (stopIteration) {
return false;
}
});
})();
属性
length: number
堆图中的节点总数(或堆快照中的 JS 对象)。
方法
forEach(callback
)
迭代所有数组元素,并将回调应用于每个元素,元素索引按升序排列。
- 参数:
callback
: (node
:IHeapNode
,index
:number
) =>boolean
|void
| 回调不需要返回任何值,如果在索引i
处迭代元素时回调返回false
,则不会迭代i
之后的所有元素。
- 返回值:
void
- 源文件:
get(index
)
获取指定索引处的 IHeapNode 元素