我经常喜欢使用VSCode快速查看一些项目来从中提取片段.但是,这导致在我使用右键单击的任何文件夹中放置了大量额外的.vscode文件夹 - >使用VSCode选项打开.
有没有办法在每次vscode加载新地时禁用此文件夹?
我有一个对象数组,可以包含相同对象类型的子对象,如下所示:
var exampleArray = [
{
alias: 'alias1',
children: [
{
alias: 'child1'
},
{
alias: 'child2',
children: [
{
alias: 'child4'
},
{
alias: 'child5'
}
]
},
{
alias: 'child3'
}
]
},
{
alias: 'alias2'
},
{
alias: 'alias3',
children: [
{
alias: 'child6'
},
{
alias: 'child7'
}
]
}
];
Run Code Online (Sandbox Code Playgroud)
基础对象具有其他属性,但它们对手头的问题并不重要.现在,让我们假设对象可以是:
{
alias: 'string',
children: []
}
Run Code Online (Sandbox Code Playgroud)
孩子是可选的.
我正在寻找最好的方法/最快的方法来管理这样的对象的一些东西.我已经创建了一些递归方法来完成我想要的一些事情,但我想知道是否有更好的方法来执行以下任务:
目前,我递归地执行此操作,但鉴于此数组可以有限增长,递归方法最终将达到堆栈限制.
getParent(arr,alias) - 我需要能够获得包含具有给定别名的元素的父级.鉴于别名'对整个数组来说是唯一的,因此永远不会有两个相同的别名.我现在再次递归地做这个,但我想找到更好的方法来做到这一点.
deleteObject(arr,alias) - 我不确定目前如何完成这个.我需要能够传递一个数组和一个别名,并从给定的数组中删除该对象(及其所有子对象).我开始了这样做的递归方法,但停了下来,决定在这里发帖.
我正在使用Node.js并且可以使用lodash来实现更快的处理方法.我仍然是相当新的JavaScript,所以我不确定是否有更好的方法来处理像这样的大规模数组.