我正在查看一些示例代码,这些示例代码用于循环浏览Chrome App API中的目录,并且遇到了一条从未见过的语句,也不知道要搜索什么。
function recurseDirectory(dirEntry, callback) {
var dirsLeft = 1;
var rootEntries;
let helper = (dirEntry, isRoot) => {
dirEntry.createReader().readEntries(entries => {
dirsLeft--;
if (isRoot) {
rootEntries = entries;
}
//This line is what I'm confused about
(dirEntry.entries = entries).forEach(entry => {
if (entry.isDirectory) {
dirsLeft++;
helper(entry);
}
});
if (!dirsLeft) {
callback(rootEntries);
}
});
}
helper(dirEntry, true);
}
由于它只是一个片段,因此我无法运行此代码,因此我仍将其进行剖析。
我不知道的部分是(dirEntry.entries = entries).forEach {...}
。我尝试查找assignment foreach
,equal foreach
,但没有结果。
此操作/语法的名称是什么?
答案 0 :(得分:2)
这只是普通的变量赋值-但是,将其放在方括号中意味着您要为dirEntry.entries
分配entries
的值,而和会迭代{{1} }并使用相同的语句-只是以下简称:
entries
答案 1 :(得分:0)
这不是别的,而是赋值表达式。 (dirEntry.entries = entries)
将返回将在其上应用entries
的{{1}}的值,也将返回forEach
到dirEntry.entries
的值。一站式完成工作。
entires
的值更改为data.entires
entires
的{{1}}。答案 2 :(得分:0)
这只是对re.findall('(?<=,)\d{2}(?=,)', page)
和['77', '80', '76', '91', '99', '70', '84', '91', '64', '63', '80', '82', '70', '51', '67', '48', '65', '60', '70', '58', '50', '71', '52']
引用的数组上的forEach
的分配和立即执行。
答案 3 :(得分:0)
这只是一个懒惰的人,试图保存自己几次按键。等同于
dirEntry.entries = entries;
entries.forEach(...)