Javascript';回调&x27;函数不使用映射函数 //映射func以循环列表 const allExpesneHTML=allExpenses.map(费用=>{createListItem(费用)}); //join func连接字符串并删除逗号 const joinedAllExpenseHTML=allExpesneHTML.join(“”); //log(allExpesneHTML); expensetablel.innerHTML=联合AllExpenseHTML; ////侦听单击事件 元素。addEventListener(“单击”,AddExpenseTotTotal,false); //视图层 函数createListItem({desc,amount}){ 返回` ${desc} 2021年3月11日 ${amount} ` ; }
回调函数createListItem()在映射函数中使用时不起作用。当我在没有函数的情况下执行时,它会按预期工作。有什么我可能遗漏的吗?在传递给Javascript';回调&x27;函数不使用映射函数 //映射func以循环列表 const allExpesneHTML=allExpenses.map(费用=>{createListItem(费用)}); //join func连接字符串并删除逗号 const joinedAllExpenseHTML=allExpesneHTML.join(“”); //log(allExpesneHTML); expensetablel.innerHTML=联合AllExpenseHTML; ////侦听单击事件 元素。addEventListener(“单击”,AddExpenseTotTotal,false); //视图层 函数createListItem({desc,amount}){ 返回` ${desc} 2021年3月11日 ${amount} ` ; },javascript,html,Javascript,Html,回调函数createListItem()在映射函数中使用时不起作用。当我在没有函数的情况下执行时,它会按预期工作。有什么我可能遗漏的吗?在传递给map的回调中,您没有返回createListItem的结果 // map func to loop the list const allExpesneHTML= allExpenses.map(expense =>{ createListItem(expense) }); // join func to join st
map
的回调中,您没有返回createListItem
的结果
// map func to loop the list
const allExpesneHTML= allExpenses.map(expense =>{ createListItem(expense) });
// join func to join strings and remove comma
const joinedAllExpenseHTML = allExpesneHTML.join("");
// console.log(allExpesneHTML);
expenseTableEl.innerHTML= joinedAllExpenseHTML;
// //Listen to click event
element.addEventListener("click",addExpenseToTotal,false);
// view layer
function createListItem({ desc, amount }){
return`
<li class="list-group-item d-flex justify-content-between">
<div class="d-flex flex-column">
${desc}
<small class="text-muted">March 11, 2021</small>
</div>
<span class="px-5">
${amount}
</span>
<button type="button" class="btn btn-outline-danger btn-sm">
<i class="fas fa-minus-circle"></i>
</button>
</div>
</li>
` ;
}
或者只是
allExpenses.map(expense => createListItem(expense))
您没有从映射函数返回值 您需要在显式返回语句中使用它,如下所示
allExpenses.map(createListItem)
或者使用隐式返回
const allExpesneHTML= allExpenses.map(expense =>{
return createListItem(expense)
});
您没有从
map
回调中返回任何内容。1)添加return:.map(expense=>{return createListItem(expense)}
2)或删除隐式return的括号:.map(expense=>createListItem(expense))
3)或简单地添加.map(createListItem)
const allExpesneHTML= allExpenses.map(expense => createListItem(expense));