2017-10-08 66 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