01. 结构 - 结构化编程
(ES5/ES6)
A?B:C循环
JavaScript
for循环
for (int i=1; i<=10; i++) statement;			// forforEach
array.forEach(function(element){/**/});			// foreach,回调匿名函数
array.forEach((element) => {/**/});				// foreach,回调箭头函数高级循环(filter、map、reduce)
var array = [1,2,3]
array.filter((e) => {e=>e>2})					// filter	[3]		返回布尔,可简写return
array.map((e,i) => {return e*e})				// map		[1,4,9]	映射
array.reduce((pre,next) => {return pre+next})	// reduce	6		将返回值重新赋值给pre一些写过的高级循环
Obsidian插件dataviewjs的一个
// ```dataviewjs
let pages = dv.pages("#book");
dv.table(['File', 'Tag', 'alias', '从属于'], pages
	 .filter(b => {
		 // return "#并夕夕" == (b.从属于[1]) // 筛选以ck结尾的tag
		 return b.从属于.contains("#并夕夕")
	 })
	 .map(b => 
		 [b.file.link, b.tag, b.alias, b.从属于]
	 )
)JavaScript Query
链接到当前文件 0
没有文件链接到当前文件