JavaScript中的随机数和数组
我在JavaScript中分配了一个任务来获取一个随机数并显示这个随机数,这是没有问题的。如何将数组附加到随机数以显示与该随机数匹配的数组中相同数量的项。我的问题在于数组项的奇数正确显示。例如,如果我的随机数是7,那么我只能从数组中获得6项。我能做些什么来解决这个问题 这是我的密码:JavaScript中的随机数和数组,javascript,arrays,random,Javascript,Arrays,Random,我在JavaScript中分配了一个任务来获取一个随机数并显示这个随机数,这是没有问题的。如何将数组附加到随机数以显示与该随机数匹配的数组中相同数量的项。我的问题在于数组项的奇数正确显示。例如,如果我的随机数是7,那么我只能从数组中获得6项。我能做些什么来解决这个问题 这是我的密码: var randomNum=Math.floor((Math.random()*9) + 6); var amenities = ['Pool', 'Bowling Alley', 'Indoor Pool',
var randomNum=Math.floor((Math.random()*9) + 6);
var amenities = ['Pool', 'Bowling Alley', 'Indoor Pool', 'Jacuzzi', 'Private Jacuzzi', 'Rooftop Hot tub', 'Indoor Putt Putt', 'Golf Driving Range',
'Live Music', 'Restaurant', 'Bar', 'Adult Entertainment', 'Free WiFi', 'Stocked Room Bar', 'Unlimited Room Calling']
var list = document.getElementsByTagName('ul')[1];
for (var i = 1; i < randomNum ; i++){
var newItemLast = document.createElement('li');
var newTextLast = document.createTextNode(amentities[i]);
newItemLast.appendChild(newTextLast);
list.appendChild(newItemLast);
var newItemFirst = document.createElement('li');
var newTextFirst = document.createTextNode(amentities[i]);
newItemFirst.appendChild(newTextFirst);
list.insertBefore(newItemFirst, list.firstChild);
i++;
}
var listItems = document.querySelectorAll('li');
var heading = document.querySelector('h2');
var headingText = heading.firstChild.nodeValue;
//var totalItems = listItems.length;
var newHeading = headingText + '<span> ' + randomNum + '</span>';
heading.innerHTML = newHeading;
var randomNum=Math.floor((Math.random()*9)+6);
var便利设施=[“泳池”、“保龄球馆”、“室内泳池”、“按摩浴缸”、“私人按摩浴缸”、“屋顶热水浴缸”、“室内推杆”、“高尔夫练习场”,
‘现场音乐’、‘餐厅’、‘酒吧’、‘成人娱乐’、‘免费WiFi’、‘储藏室酒吧’、‘无限客房通话’]
var list=document.getElementsByTagName('ul')[1];
对于(var i=1;i
正如@Barmar所说的-你可以使用array.slice(0,random_number),但是为了让你看到发生了什么,我做了一个简单的javascriptfor循环的示例,它在数组中迭代了与随机数一样多的项,并将一个
附加到一个显示列表中
请注意,由于数组的索引为零,for循环将提供与生成的随机数相同的数组项。这意味着,在您所述的7是随机数的示例中,以下将为您提供7个项目-索引为0-因此它将是数组中的项目0,1,2,3,4,5,6-或者换句话说-从索引0开始到索引6结束的7个项目
另外-作为一个教学时刻-我将随机数传递给第二个函数,该函数允许显示数组项-这完全可以在同一个函数中完成-但只是为了让您习惯将值传递给其他函数-我认为看到此任务实际上是两个任务会很有用(生成随机数并将数组切片到该子集中)
var数组=[“项目1”、“项目2”、“项目3”、“项目4”、“项目5”、“项目6”、“项目7”、“项目8”、“项目9”、“项目10]”;
函数setNum(){
var ranNum=Math.floor(Math.random()*10);
document.getElementById('displayNum').textContent=“所选的随机数=“+ranNum;
设置显示(ranNum)
}
函数设置显示(num){
document.getElementById('displayList')。innerHTML='';
对于(i=0;i'+array[i]+'';
}
}
点击我
无法确定,因为您尚未显示有问题的代码。此外,您可能需要澄清“我必须将数组附加到随机数”的含义。很可能是迭代数组的方式有问题。小提琴会有帮助。只有当随机数为奇数时才会出现问题,当随机数为偶数时才会出现问题。您可以使用array.slice(0,random\u number)
获取数组中的第一个随机数元素。