gpt4 book ai didi

javascript - 如何修复 for 循环在 JavaScript 中无法在字符串数组中获取结果

转载 作者:行者123 更新时间:2023-11-28 14:24:50 24 4
gpt4 key购买 nike

我正在创建一个音乐播放器,但遇到了 for 循环和数组的问题。我的 main.js 文件中有以下函数

function CreateDatabaseArtists() {
for (n = 0; n < DatabaseArtists.length+1; n++) {
if (DatabaseArtists[n.toString()].name === "") {} else {
let NewArtistBtn = document.createElement("div");
NewArtistBtn.id = DatabaseArtists[n].artistgroup;
// NewArtistBtn.onclick = function() {OpenArtist(NewArtistBtn.id);};
NewArtistBtn.classList.toggle("column");
NewArtistBtn.setAttribute("style", "word-wrap: break-word; float: none; width: 150px; text-align:center;align-items:center; display: inline-block; white-space: nowrap; overflow: hidden; text-overflow:ellipsis;");
let ArtistIMG = document.createElement("img");
if (DatabaseArtists[n].ArtistArt == "") {
ArtistIMG.src = "https://iplock.weebly.com/uploads/9/5/7/3/95731436/p298.png";
ArtistIMG.style.borderRadius = "50%";
} else {
ArtistIMG.src = DatabaseArtists[n].ArtistArt;
ArtistIMG.style.borderRadius = "50%";
}
ArtistIMG.style.width = "150px"; ArtistIMG.style.height = "150px";
NewArtistBtn.appendChild(ArtistIMG);
let text = document.createElement("p");
text.innerHTML = "ahhh-humbug";
// DatabaseArtists[b].name;
ArtistIMG.setAttribute("aria-label", text.innerHTML);
NewArtistBtn.appendChild(text);
document.getElementById("artists").appendChild(NewArtistBtn);
}
}
}

还有

的部分
for (n = 0; n < DatabaseArtists.length+1; n++) {
if (DatabaseArtists[n.toString()].name === "") {}

不断失败,我收到一条错误消息,指出它无法找到“name”的变量,即使在数组中它是 "name": "AJR", "explicit": false, "artistgroup": "ajr", "ArtistArt": ""我该怎么办?

最佳答案

for (n = 0; n < DatabaseArtists.length+1; n++)

您正在遍历数组末尾,因此最后一个循环将尝试访问 undefined 上的 name 属性。索引应从 0length - 1

关于javascript - 如何修复 for 循环在 JavaScript 中无法在字符串数组中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53871462/

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