Javascript 尝试创建一个随机文字游戏,只需单击html按钮即可输出函数

Javascript 尝试创建一个随机文字游戏,只需单击html按钮即可输出函数,javascript,html,Javascript,Html,我正在尝试创建一个文字游戏,可以从列表中随机选择一个项目,但其中一些项目的权重不同,因此它们出现的频率较低。我希望在用户按下HTML按钮后调用该函数。我现在(在控制台上)的代码运行得相当好。我的问题是如何将函数的输出输入到html网页中。如果有人能在这方面帮助我,那将是一个巨大的帮助 这是我的密码: var item = { 'apple':10, 'banana':10, 'orange':10, 'grapes':1, } function testGame

我正在尝试创建一个文字游戏,可以从列表中随机选择一个项目,但其中一些项目的权重不同,因此它们出现的频率较低。我希望在用户按下HTML按钮后调用该函数。我现在(在控制台上)的代码运行得相当好。我的问题是如何将函数的输出输入到html网页中。如果有人能在这方面帮助我,那将是一个巨大的帮助

这是我的密码:

var item = {
    'apple':10,
    'banana':10,
    'orange':10,
    'grapes':1,
}

function testGame(input) {
    var array = [];
        for(var item in input) {
            if(input.hasOwnProperty(item) ) {
                for(var i=0; i<input[item]; i++ ) {
                    array.push(item);
                }
            }
        }
        return array[Math.floor(Math.random() * array.length)];
}

console.log(testGame(item));
var项={
“苹果”:10,
“香蕉”:10,
“橙色”:10,
"葡萄":一,,
}
功能测试游戏(输入){
var数组=[];
for(输入中的变量项){
if(输入hasOwnProperty(项目)){

对于(var i=0;i使用
getElementById
按id获取元素,为此我给了您的按钮一个id。使用
addEventListener
可以添加事件(此处:单击)以调用函数。
在这里进行随机化。使用
getElementById
再次获取要输出的元素,并使用
textContent
添加您的答案

const项={
“苹果”:10,
“香蕉”:10,
“橙色”:10,
"葡萄":一,,
}
document.getElementById('btn')。addEventListener('click',function testGame()){
var数组=[];
for(项目中的var项目){
if(项目hasOwnProperty(项目)){

对于(var i=0;i您可以创建一个新函数,您可以在按钮上调用它,就像在控制台上调用它一样。log:

<button onclick="start();">Test</button>
然后在
函数testGame
中不使用return,只需将随机单词结果保存在变量中并以HTML格式打印即可:

  var result = array[Math.floor(Math.random() * array.length)];
  console.clear();
  console.log(result);
  document.getElementById("result").innerHTML=result;
<div id="result"></div>
我在HTML中添加了div结果:

  var result = array[Math.floor(Math.random() * array.length)];
  console.clear();
  console.log(result);
  document.getElementById("result").innerHTML=result;
<div id="result"></div>

示例代码片段:

var项={
“苹果”:10,
“香蕉”:10,
“橙色”:10,
"葡萄":一,,
}
功能测试游戏(输入){
var数组=[];
for(输入中的变量项){
if(输入hasOwnProperty(项目)){
对于(变量i=0;i

随机化游戏
游戏
试验

> BRANNELSON95,请考虑将答案标记为“接受”。✔︎ ,将其标记为已为其他人解决。欢迎使用SO。