小于 1 分钟
(ES5/ES6)
A?B:C
循环
JavaScript
for循环
for (int i=1; i<=10; i++) statement; // for
forEach
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.从属于]
)
)