Javascript 如何迭代输入的内容

Javascript 如何迭代输入的内容,javascript,jquery,Javascript,Jquery,正如你们所看到的,我有两个专栏:名字和票。 约翰有15张票,鲍勃有10张等等 目标:我想做一些彩票,每个人都有X张彩票。门票越多,你得奖的机会就越大 我试图用它的类来分隔这两个列,然后创建某种主数组/对象,如下所示: lottery = { John => 15 Bob => 10 Milla => 7 } 然后我会尝试随机挑选一个获胜者。。。只是不知道怎么做 这里我得到了输入,但我不知道如何连接它们 $('#sort').click(function()

正如你们所看到的,我有两个专栏:名字和票。 约翰有15张票,鲍勃有10张等等

目标:我想做一些彩票,每个人都有X张彩票。门票越多,你得奖的机会就越大

我试图用它的类来分隔这两个列,然后创建某种主数组/对象,如下所示:

lottery = {
   John => 15
   Bob  => 10
   Milla => 7
}
然后我会尝试随机挑选一个获胜者。。。只是不知道怎么做

这里我得到了输入,但我不知道如何连接它们

$('#sort').click(function(){

   let names = $('.names');
   let tickets = $('tickets');
   let size = Object.keys(names).length;
}
HTML结构:

<section id="content">
      <div class="container participant">
         <div class="row">

            <div class="input-group">
               <div class="input-group-prepend">
               <span class="input-group-text">Nome & Tickets</span>
             </div>

               <input type="text" aria-label="name" class="names form-control">
               <input type="text" aria-label="tickets" class="tickets form-control">


               <div class="input-group-append">
                  <button class="addUser btn btn-outline-secondary" type="button">
                     <i class="fas fa-user-plus" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add participante"></i>
                  </button>
               </div>
            </div>

         </div>
      </div>
   </section>

考虑到每个用户都有多张罚单以获得更多的中奖机会,创建一个包含多个用户姓名实例的数组,然后从中随机选择,这将更有意义

要构建数组,您可以使用map,然后使用fill填充数组,在从数组中填充之前,使用以下类似的名称填充数组:

var arr=$'content.container.row'.mapfunction{ var$row=$this; 返回新数组parseint$row.find'.tickets.val,10。填充$row.find'.names.val; }.获得; var winner=arr[Math.floorMath.random*arr.length]; console.log'Winner:',Winner; console.logarr; 诺姆公司;售票处 诺姆公司;售票处 诺姆公司;售票处 诺姆公司;售票处
考虑到每个用户都有多张罚单以获得更多的中奖机会,创建一个包含多个用户姓名实例的数组,然后从中随机选择,这将更有意义

要构建数组,您可以使用map,然后使用fill填充数组,在从数组中填充之前,使用以下类似的名称填充数组:

var arr=$'content.container.row'.mapfunction{ var$row=$this; 返回新数组parseint$row.find'.tickets.val,10。填充$row.find'.names.val; }.获得; var winner=arr[Math.floorMath.random*arr.length]; console.log'Winner:',Winner; console.logarr; 诺姆公司;售票处 诺姆公司;售票处 诺姆公司;售票处 诺姆公司;售票处
也许能帮你也许能帮你谢谢你的答案!我更新了我的htlm结构,因为我没有使用表。很抱歉,忘记了那个信息。我正在尝试用这些输入实现您的示例。没问题,我更新了答案以使用您的HTML。您只需要修改初始选择器,即查找并使用val而不是text谢谢您的回答!我更新了我的htlm结构,因为我没有使用表。很抱歉,忘记了那个信息。我正在尝试用这些输入实现您的示例。没问题,我更新了答案以使用您的HTML。您只需要修改初始选择器,即查找并使用val而不是文本