[英]Alerting items from an array?
页面打开时,我无法在警报中显示每个专辑的标题。 我不确定在for循环中访问数组有什么问题。 有什么线索吗?
如果这是我的新手,我深表歉意,这似乎是一个显而易见的解决方案。 我也必须使用JavaScript,请记住。 我只是想知道我是否以错误的方式完全访问了for循环中的索引。
是for循环后的命令不正确吗?
var fakeDatabase = [];
var foxyShazam = {
id: foxyShazam_FS,
title:'Foxy Shazam',
artist:'Foxy Shazam',
price: '$14.99',
releaseDate: new Date(1968, 10, 22),
Quantity: 50,
Trackinglist: ["Intro: Bombs Away", "Wanna-Be Angel", "Count Me Out", "Bye Bye Symphony", "Unstoppable", "Second Floor", "Oh Lord", "Connect", "The Only Way to My Heart...", "Killin' It", "Evil Thoughts"]
};
var thriller = {
id: thriller_MJ,
title:'Thriller',
artist:'Michael Jackson',
price: '$12.99',
releaseDate: new Date(1982, 10, 30),
Quantity: 35,
Trackinglist: ["Wanna Be Startin Somethin", "Baby Be Mine", "The Girl Is Mine", "Thriller", "Beat It", "Billie Jean", "Human Nature", "P.Y.T. (Pretty Young Thing)", "The Lady in My Life"]
};
var millennium = {
id: millennium_BSB,
title:'Millennium',
artist:'Backstreet Boys',
price: '$7.99',
releaseDate: new Date(1999, 4, 18),
Quantity: 15,
Trackinglist: ["Larger Than Life", "I Want It That Way", "Show Me the Meaning", "It's Gotta Be You", "I Need You Tonight", "Don't Want You Back", "Don't Wanna Lose You Now", "The One", "Back to Your Heart", "Spanish Eyes", "No One Else Comes Close", "The Perfect Fan"]
};
var darkSideOfTheMoon = {
id: darkSideOfTheMoon_PinkFloyd,
title:'Dark Side of the Moon',
artist:'Pink Floyd',
price: '$14.99',
releaseDate: new Date(1973, 02, 01),
Quantity: 60,
Trackinglist: ["Speak to Me", "Breathe", "On the Run", "Time", "The Great Gig in the Sky", "Money", "Us and Them", "Any Colour You Like", "Brian Damage", "Eclipse"]
};
fakeDatabase.push(whiteAlbum_Beatles, thriller_MJ, millennium_BSB, darkSideOfTheMoon_PinkFloyd);
function displayAlbum() {
for (var i=0; i < fakeDatabase.length; i++) {
alert(title);}
};
displayAlbum()
首先,您遇到了一些语法错误-例如,对象ID没有用引号引起来,并且数组中引用的元素不存在(代码中没有提到whiteAlbum_Beatles
对象/ ID?)
我认为您想将对象本身存储在数组中,而不是对象ID的 。
您可以使用以下内容:
fakeDatabase.push(foxyShazam, thriller, millennium, darkSideOfTheMoon);
function displayAlbum() {
for (var i=0; i < fakeDatabase.length; i++) {
alert(fakeDatabase[i].title);
}
};
只需进行几处更正,您的代码就会起作用:
干得好 :)
<script type="text/javascript">
var fakeDatabase = [];
var foxyShazam = {
id: "foxyShazam_FS",
title:'Foxy Shazam',
artist:'Foxy Shazam',
price: '$14.99',
releaseDate: new Date(1968, 10, 22),
Quantity: 50,
Trackinglist: ["Intro: Bombs Away", "Wanna-Be Angel", "Count Me Out", "Bye Bye Symphony", "Unstoppable", "Second Floor", "Oh Lord", "Connect", "The Only Way to My Heart...", "Killin' It", "Evil Thoughts"]
};
var thriller = {
id: "thriller_MJ",
title:'Thriller',
artist:'Michael Jackson',
price: '$12.99',
releaseDate: new Date(1982, 10, 30),
Quantity: 35,
Trackinglist: ["Wanna Be Startin Somethin", "Baby Be Mine", "The Girl Is Mine", "Thriller", "Beat It", "Billie Jean", "Human Nature", "P.Y.T. (Pretty Young Thing)", "The Lady in My Life"]
};
var millennium = {
id: "millennium_BSB",
title:'Millennium',
artist:'Backstreet Boys',
price: '$7.99',
releaseDate: new Date(1999, 4, 18),
Quantity: 15,
Trackinglist: ["Larger Than Life", "I Want It That Way", "Show Me the Meaning", "It's Gotta Be You", "I Need You Tonight", "Don't Want You Back", "Don't Wanna Lose You Now", "The One", "Back to Your Heart", "Spanish Eyes", "No One Else Comes Close", "The Perfect Fan"]
};
var darkSideOfTheMoon = {
id: "darkSideOfTheMoon_PinkFloyd",
title:'Dark Side of the Moon',
artist:'Pink Floyd',
price: '$14.99',
releaseDate: new Date(1973, 02, 01),
Quantity: 60,
Trackinglist: ["Speak to Me", "Breathe", "On the Run", "Time", "The Great Gig in the Sky", "Money", "Us and Them", "Any Colour You Like", "Brian Damage", "Eclipse"]
};
fakeDatabase.push(foxyShazam, thriller, millennium, darkSideOfTheMoon);
function displayAlbum() {
for (var i=0; i < fakeDatabase.length; i++) {
alert(fakeDatabase[i].title);}
};
displayAlbum()
</script>
干杯,阿肖克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.