草庐IT

javascript - 从物化路径构建 JSON 树

我计划在MongoDB中使用物化路径来表示树,并且需要将物化路径转换回JSON树。例如。//物化路径varinput=[{"id":"0","path":"javascript"},{"id":"1","path":"javascript/database"},{"id":"2","path":"javascript/database/tree"},{"id":"3","path":"javascript/mvc"},{"id":"4","path":"javascript/mvc/knockout.js"},{"id":"5","path":"javascript/mvc/backb

javascript - Vue Element.ui 树,发出重新加载事件

我在Vue上创建了一个SPA(类似于云盘),使用Element.uitree组件,以显示文件夹树。问题在于树本身并没有一次加载所有内容,而是在惰性修饰符的帮助下顺序加载。服务器部分是mongoose+mongoose-path-tree。mongoose-path-tree的使用意味着,接下来是数据库中的树存储方案:每个节点不知道其子节点,但子节点存储它们到根元素的完整路径:#root_id#subroot_id#...#parent_id#this_id问题是,如果用户对树进行了更改(加载文件、创建新文件夹等)并且服务器接受了它们,那么如何通知树它需要加载新数据。Elementui在

javascript - D3树垂直分离

我使用的是D3树布局,例如:http://mbostock.github.com/d3/talk/20111018/tree.html我已根据需要对其进行了修改,但遇到了问题。这个例子也有同样的问题,如果你打开了太多的节点,它们就会变得紧凑,使阅读和交互变得困难。我想在重新调整舞台大小时允许这样的间距的同时定义节点之间的最小垂直空间。我尝试修改分离算法使其工作:.separation(function(a,b){return(a.parent==b.parent?1:2)/a.depth;})那没用。我还尝试计算哪个深度有最多的child,然后告诉舞台的高度为children*spac

javascript - 从字符串层次结构创建 JSON 树

给定这4个变量,varel1={name:'ronaldo',team:'europe/spain/realmadrid'}varel2={name:'messi',team:'europe/spain/barcelona'}varel3={name:'gerald',team:'europe/england/liverpool'}varel4={name:'unknownenglish',team:'europe/england'}我需要生成这个JSON树层次结构,{"text":"europe","leaf":false,"children":[{"text":"spain","l

仅限 Javascript 的 DOM 树遍历 - DFS 和 BFS?

任何人都可以提供代码、伪代码,甚至提供良好的链接以在纯JavaScript(没有JQuery或任何辅助库)中实现DFS(深度优先搜索)和BFS(广度优先搜索)吗?我一直试图了解如何实现这两种遍历,但我似乎无法真正区分BFS和DFS实现的区别。如果我们想要一个具体的问题作为示例:我想在给定节点向下遍历DOM,并获取所有类名。(我能想到的唯一遍历方法是遍历每个父节点,从该节点获取我需要的东西,在这个例子中是类名,然后看看他们是否有child,递归每个child。我相信这是DFS?同样,我很难理解DOM遍历实现中的差异!)最后,抱歉,如果这是重复的。我到处搜索好的、清晰的例子,但没有找到任何

javascript - 如何使用 PEG.js 构建左关联运算符树?

如何使用AbstractSyntaxTree为左关联运算符构建AST(PEG.js)?我试着根据网上的资料写了一些代码,但是我好像犯了一个错误。我编写的代码为大多数表达式生成了不正确的AST。表达式12-6-4-2*1-1预期的AST{"left":{"left":{"left":{"left":12,"operator":"-","right":6},"operator":"-","right":4},"operator":"-","right":{"left":2,"operator":"*","right":1}},"operator":"-","right":1}生成的AST{

javascript - 跟踪并记录所有调用树/图的 javascript 函数?

是否可以在任何Web调试器中将所有javascript函数调用视为一棵树?更新我的意思是调试器可以记住每个函数调用,它是从哪个其他函数完成的,它还可以记住每次调用的堆栈帧和整个DOM快照。更新2页面代码如下:Traceandlogalljavascriptfunctionscallingtree/graph?functioninit(){setDiv2("Thisdivtextwaschangedonce");setDiv2("Thisdivtextwaschangedtwice");};functionsetDiv2(text){document.getElementById("di

Javascript:构建分层树

我的数据具有以下属性:每个条目都有一个唯一的标识(Id)每个都有一个Parent字段,指向父级的Id。一个节点可以有多个子节点,但只有一个父节点。我第一次尝试build一棵树如下。这是错误的,因为递归会导致无限循环。即使我解决了它,我也不确定是否有更好的方法来做到这一点。目前,我分两次完成。我希望它尽可能高效,因为我有大量数据。还需要动态重建树(根可以是任意节点)程序中有示例数据如下:arry=[{"Id":"1","Name":"abc","Parent":""},{"Id":"2","Name":"abc","Parent":"1"},{"Id":"3","Name":"abc",

javascript - 将 JSON 转换为 HTML 树

我想从下面的JSON示例生成一个HTML树(最好是UL-LI)。有没有人有可以处理这种特定结构的简单、递归JS函数(不是框架)?感谢您的帮助!{"folder":[{"title":"1","folder":[{"title":"1.1","folder":[{"title":"1.1.1",},{"title":"1.1.2",}]}]},{"title":"2",}]} 最佳答案 functionto_ul(obj){//--------vcreateanelementvarf,li,ul=document.createElem

javascript - 如何从 JISON 解析器中获取抽象语法树 (AST)?

所以我通过JISON生成了一个解析器://mygenerator.jsvarParser=require("jison").Parser;//agrammarinJSONvargrammar={"lex":{"rules":[["\\s+","/*skipwhitespace*/"],["[a-f0-9]+","return'HEX';"]]},"bnf":{"hex_strings":["hex_stringsHEX","HEX"]}};//`grammar`canalsobeastringthatusesjison'sgrammarformatvarparser=newParser