gpt4 book ai didi

javascript - 调用 forEach 内部的函数

转载 作者:行者123 更新时间:2023-11-28 16:58:12 25 4
gpt4 key购买 nike

//书籍数组

const books = [{
title: 'The subtle art of not giving a fuck',
author: 'Mark Manson'
},{
title: 'Everything is fucked',
author: 'Mark Manson'
},{
title: 'Seriousness takes the joyfulness of life',
author: 'Karan Siddannavar'
}]

const getBooks = book => {
document.querySelector('.book-list').innerHTML = `<li>${book.title}</li>
<li>${book.author}</li>`
}

books.forEach(book => {
getBooks(book);
})
<div class="book-list"></div>

每次使用新对象更新 book 变量时,我都会调用 getBooks 方法。但是,该函数仅被调用一次。换句话说,即使每次 forEach 循环遍历数组时都会调用该函数,也只会显示一本书的详细信息。为什么会出现这种情况?

最佳答案

在每次调用函数时,您要替换 innerHTML(以前的内容与当前内容),您必须使用 += 而不是 = 保留之前的 HTML。

不过,我建议您使用 Element.insertAdjacentHTML()而不是 innerHTML:

const books = [{
title: 'The subtle art of not giving a fuck',
author: 'Mark Manson'
},{
title: 'Everything is fucked',
author: 'Mark Manson'
},{
title: 'Seriousness takes the joyfulness of life',
author: 'Karan Siddannavar'
}]

const getBooks = book => {
document.querySelector('.book-list').insertAdjacentHTML('beforeend', `<li>${book.title}</li>
<li>${book.author}</li>`)
}

books.forEach(book => {
getBooks(book);
})
<div class="book-list"></div>

关于javascript - 调用 forEach 内部的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58470738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com