2017-10-08 62 views
-2

得到相同的元素數量比方說,我有陣列1和陣列2,均具有5個元素。JavaScript的 - 從陣列1採摘隨機元素,我想從陣列2

我寫了一個簡單的函數從陣列1獲得一個隨機元素:

function getQuote() { 
    var returnQuote = Math.floor(Math.random() * quotes.length); 
    document.getElementById('quoteBox').innerHTML = quotes[returnQuote]; 
} 

該函數從數組「引號」返回隨機元素。 但我有另一個數組,稱爲「作者」。那裏的元素以相應的順序排列,如數組1 - 引用0來自作者0等等。

是否有可能,如果讓我們說改編。 1元素2被選擇,與arr相同的元素2。 2也被挑選?

這樣我就可以打印出報價上的位置2和也ARR 2拉出相應筆者在位置2,所以我可以在我的「Web應用程序」對應的複選框打印。

我希望我的問題有道理。

而且我也希望這不是一個愚蠢的一個。我剛開始學習/練習JavaScript。

乾杯!

+1

不明白爲什麼你可以從一個數組中獲取值,但是因爲你已經有索引作爲變量,所以你可以從一個數組中獲取值。 – charlietfl

+1

'作者[returnQuote]'沒有任何複雜的情況。然而這個數據結構真的很醜。爲什麼不'常量報價= {[報價:「ICH魏斯,DASS ICH nichts維斯」,作者:「愛因斯坦」}]'所以,如果你選擇一個隨機的報價,筆者報價 –

回答

0

是的,這是可能的。 returnQuote只是引用一個數字,所以你可以使用這個數字作爲你想要的任何數組的索引。

請注意,如果你想添加更多的數據相同的元素,如果你嘗試使用=賦值運算符,它會覆蓋先前插入的數據。

我無論是從兩個陣列串聯的值,或使用.insertAdjacentHTML對於任何後續的呼叫。

function getQuote() { 
    var returnQuote = Math.floor(Math.random() * quotes.length); 
    document.getElementById('quoteBox').innerHTML = quotes[returnQuote] + quotes2[returnQuote]; 
} 
+0

的一部分,非常感謝你的說明!我找到了另一種方式,這也是有效的,但你的一個更清潔! 欣賞它! –

+0

我還是更喜歡'+ ='那麼 –

+0

@Jonasw:這也可以。 – llama