介绍
unist-util-find-all-before
是一个基于 Unist 数据结构的 npm 包。它可以在指定节点前查找所有匹配的节点,可以用于语法分析等场景。
安装
--- ------- --------------------------
使用方法
导入
----- ------------- - -------------------------------------
API
findAllBefore(tree, parent, node, options)
tree
(required): 需要查找的语法树parent
(required): 目标node
的父节点node
(required): 被查找的目标节点options
(optional): 可选的配置选项test
(optional): 匹配测试函数,方法接收一个 node,返回 Boolean 值。默认为一个始终返回 true 的函数。skip
(optional): 跳过查找节点的数量。默认为 0,不跳过任何节点。reverse
(optional): 是否逆序查找。默认为false
,正序查找。
findAllBefore(parent, node, options)
如果使用时只需要传入 parent
和 node
,可以直接调用 findAllBefore(node, parent)
,这样参数的顺序会变成 (tree, node, parent)
。
方法示例
----- ------- - ------------------ ----- -------- - ----------------------- ----- ------------- - ------------------------------------- ----- ---- - ------------------------------- - --- --- -- --- --- --- --- --- -- ----- ------ - ----------------------- -- --------- --- --------- -- ---------- --- -- ----- ---- - ----------------------- -- --------- --- ----------- -- ---------- --- ------ ----- ----------- - ------------------- ------- ----- -------------------------------- -- ----------------------- -- -- --- -- -- -- ---
上面的代码中,我们使用了 remark-parse
将 markdown 文本解析为语法树,然后找到了第三级标题的父节点和对应的段落节点。最后我们使用 findAllBefore
查找了段落节点前的所有节点,并将节点的 value
属性打印出来。
总结
unist-util-find-all-before
是一个很实用的 npm 包,可以在语法分析等场景中快速定位指定节点的前面所有节点。在实际使用时,可以根据需要选用配置选项或者直接使用默认值。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/72729