2016-04-25 50 views
0

我正在爲我工​​作的學校創建拼寫蜜蜂網絡應用程序。我的想法是讓學生點擊一個按鈕,隨機選擇並播放單詞的音頻。然後,他們會將這個詞寫在表單上並提交糾正。隨機選擇並播放對象的音頻屬性

這是我的原型代碼

月1日,上寫着姓名和音頻文件的對象。

var words = {} 
words.carrot = { 
audio : new Audio ('http://dictionary.cambridge.org/media/english-portuguese/uk_pron/u/ukc/ukcar/ukcarap002.mp3'), 
name : "CARROT" 
} 
words.ball = { 
audio : new Audio ('http://dictionary.cambridge.org/us/media/english/us_pron/b/bal/ball_/ball.mp3'), 
name : "BALL" 
} 

然後,隨機選擇一個對象的屬性的函數。它會通過點擊一個按鈕來調用。

var play = function(){ 

var list = Object.keys(words); 

var randomWord = list[Math.floor(Math.random()*list.length) ]; 
} 

到目前爲止,這麼好。

我不能做的事情就是把結果詞彙回到對象語法中。 爲了測試的緣故,我試過如下:

document.getElementById("demoparagraph").innerHTML = randomWord 

它完美展現的屬性之一。

但這不起作用:words.randomWord.audio。它返回「未定義」。

words.carrot.audio工作得很好。

+1

你誤解了javascript對象。 words.carrot的作品,因爲胡蘿蔔是一種財產。你已經創建了兩個屬性的對象,胡蘿蔔和球。不是具有兩個選項的數組。 – samuelmr

+1

您需要使用括號表示'詞[randomWord] .audio' – jcubic

+0

括號符號工作!謝謝! – Evan

回答