我正在尝试造一个从数组中随机选择项目两次的句子。第一个选择的项目暂时从数组中删除,因此不能再次选择,然后第二个项目也被随机选择并添加到句子中。然后,为了重置它以便稍后可以再次执行此操作,我尝试将第一个选择的项目添加回其初始数组。
问题是,当我这样做时,chosenWord1 在句子中显示为我希望的字符串,但 chosenWord2 显示的是索引号。
array = ["word","another word", "yet another word"];
/* put a random word from the array in its own value and then
remove it from the array so it can't be chosen in next step */
let chosenWord1 = array.splice(Math.random() * array.length, 1)[0];
/* pick another random word from the same, altered array */
let chosenWord2 = Math.floor(Math.random() * array.length);
/* a function that puts a sentence on the webpage concatenating the strings
from chosenWord1 and chosenWord2 goes here. then... */
/* add back the previously removed word so this process can repeat again
with the same items in the array as there was before anything was done to it */
array.splice(1,0,chosenWord1);
另外,如果有一些更明智的方法可以构建它,请告诉我。我对此还是很陌生。
PIPIONE
相关分类