function findDepth(){
return Math.max.apply(null, $('ul, ol').map((i,l)=> $(l).find('ul, ol').length)) + 1;
}
console.log(findDepth());
我有这个输入,我想把它转换成这个。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>Item:
<ol>
<li>Point:
<div>
<ul>
<li>elem1</li>
</ul>
</div>
</li>
</ol>
</li>
<li>elem2</li>
</ul>
<ul>
<li>simple list1</li>
</ul>
<ul>
</ul>
我尝试过转轴和转换。但不会去任何地方。
ID | NAME | Description
A A Value1
A A Value2
B B Value1
C C Value1
C C Value2
C C Value3
D D Value1
D D Value2
D D Value3
D D Value4
D D Value5
D D Value6
任何帮助都会得到帮助。
答案 0 :(得分:1)
名称是保留字。不应该使用保留字作为任何名称。
一种方法使用DCount()。该表将需要一个唯一的标识符字段 - autonumber应该为此服务。构建查询:
SELECT Table1.ID, Table1.Name, Table1.Description, Table1.NumID,
DCount("*","Table1","ID='" & [ID] & "' AND NumID<" & [NumID])+1 AS GrpNum
FROM Table1
ORDER BY Table1.ID, Table1.NumID;
然后在CROSSTAB中使用该查询。
TRANSFORM First(Query3.Description) AS FirstOfDescription
SELECT Query3.ID, Query3.Name
FROM Query3
GROUP BY Query3.ID, Query3.Name
PIVOT Query3.GrpNum;
但是,域聚合函数在查询非常大的数据集时执行速度很慢。
VBA过程可以将记录写入到透视结构中的“临时”表(表是永久的,数据是临时的)。对于大型数据集,此代码可能比使用域聚合函数的查询执行得更快。
可以使用autonumber字段将文本文件导入“temp”表,然后运行建议的查询。