0

これは学校のプロジェクトです!私は JavaScript を学び始めてまだ数週間です - 私は最善を尽くしてこれを学ぼうとしていますが、本当に助けが必要です.

コード エラーは発生せず、このプロジェクトの「管理者」ページのアラート ウィンドウに表示されない理由も不明です。どんな考えやアイデアも大歓迎です!ありがとう...

ここにJSFiddleがあります - http://jsfiddle.net/qux3K/1/

コードは次のとおりです。

// Chapters 7 & 8 - store.js

// このスクリプトは、ミュージック ストア コレクションで利用可能な CD を保存する「偽の」データベースを作成します。

// Function called when page is loaded.
// Function creates a new object.
function process() {
'use strict';


// Create a new array:
var cd = new Array ([
    {"cd":0, "item":"001", "title": "Total Life Forever", "artist": "FOALS",         "price": "$14.99", "released": "March, 2009", "tracks": "Track Listing"     {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":1, "item":"002", "title": "Bein Love", "artist": "Locksley", "price": "$14.99", "released": "April, 2012", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":2, "item":"003", "title": "Privileged", "artist": "Nick Moss", "price": "$14.99", "released": "June, 2011", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":3, "item":"004", "title": "Asondeguerra", "artist": "Juan Louis Guerra", "price": "$14.99", "released": "September, 2013", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":4, "item":"017", "title": "Way Out Here", "artist": "Josh Thompson", "price": "$14.99", "released": "August, 2010", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":5, "item":"018", "title": "Tremolo", "artist": "The Pines", "price": "$14.99", "released": "January, 2007", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":6, "item":"019", "title": "Live From Freedom Hall", "artist": "Lynyrd Skynyrd", "price": "$14.99", "released": "June, 2010", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":7, "item":"020", "title": "Achin' & Shakin'", "artist": "Laura Bell Bundy", "price": "$14.99", "released": "July, 2013", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":8, "item":"021", "title": "Here I Am", "artist": "Marvin Sapp", "price": "$14.99", "released": "November, 2011", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":9, "item":"022", "title": "Just James", "artist": "J Moss", "price": "$14.99", "released": "March, 2011", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
    {"cd":10, "item":"013", "title": "Tom Petty - Live", "artist": "Tom Petty", "price": "$14.99", "released": "May, 2010", "tracks": "Track Listing" {1,2,3,4,5,6,7,8,9,10,11,12}, "quantity": "1"}
]); 


// Function to call titles in an alert box
alert('CD titles available are' + cd({title:"0,1,2,3,4,5,6,7,8,9,10"}));
// End of alert.    


} 
// End of process() function.

// Initial setup:
function init() {
'use strict';
document.getElementById('theForm').onsubmit = process;

} // End of init() function.
window.onload = init;
4

2 に答える 2

0

いくつかのエラーがあります。

配列コンストラクターを次のように使用している場合

var cd = new Array ([...]);

オブジェクトの配列の配列を実際に定義しました。あなたはちょうど使用する必要があります

var cd = new Array(...)

あるいは単に

var cd = [...];

あなたの場合はオブジェクトである各配列項目には、「、」が必要です

var cd = new Array(1, 2, 3)

あなたの場合:

var cd = new Array({...}, {...}, {...});

オブジェクトのプロパティがあります

"tracks": "Track Listing"     {1,2,3,4,5,6,7,8,9,10,11,12},

ここでは、":" 文字列とオブジェクト {1, 2...} の後に置きます。何を定義したかったのですか?

"tracks": {1,2,3,4,5,6,7,8,9,10,11,12},

または、他の何か?

そして、たとえばforループを使用して各タイトルを取得します

for (var i = 0; i < cd.length; i++)
    alert("CD Title: " + cd[i].title);
于 2013-11-12T07:28:21.860 に答える