javascript - 带有嵌套代码的 javascript .forEach 循环
问题描述
我有这个代码:
function uploadFiles(event) {
event.preventDefault();
files = [...fileElem.files]
files.forEach(uploadFile)
}
function uploadFile(file, i) {
}
现在,我想将代码添加到files.forEach(uploadFile)
伪代码:files.forEach(
uploadFile(); console.log(file.name); )
我在这里查看:For-each over an array in JavaScript 所以我尝试了:
files.forEach(function(uploadFile) {
uploadFile();
console.log(file.name);
})
files.forEach(function (entry) {
console.log(entry.name);
uploadFile(entry);
})
但我想我不明白这是如何工作的。如何执行函数uploadFile
并访问同一代码块中的属性file
?
解决方案
使用此代码:
function uploadFiles(event)
{
event.preventDefault();
files = [...fileElem.files]
files.forEach(extendedUploadFile)
clearFileInput(fileElem);
}
function uploadFile(file, i)
{
....
}
function extendedUploadFile(file, i)
{
console.log(file.name);
uploadFile(file, i);
}
// reset/clear FILE type inputs
function clearFileInput(ctrl)
{
try
{
ctrl.value = null;
}
catch(ex)
{ }
if (ctrl.value) ctrl.parentNode.replaceChild(ctrl.cloneNode(true), ctrl);
}
推荐阅读
- vb.net - 在VS2012中使用Visual Basic按降序对数组进行排序
- android - 如何关闭 NFC 声音
- android - 更新片段不起作用
- rust - 有没有办法从数组构造条件?
- python - 结构性地保存路径的目录、子目录和文件的变量
- c# - 我应该为 MATH.NET 中的 LogNormal 和正态分布使用哪些参数
- sql - 将多行合并为一行
- ios - Azure AD B2C Cordova iOS:“登录时遇到问题”
- android - Android Kotlin - JSON 对象的总和
- android - MobileAds.initialize() 和 IntersitialAd.loadAd() StrictModePolicy 违规