每张卡的平均计算

Posted

技术标签:

【中文标题】每张卡的平均计算【英文标题】:average calculation in each card 【发布时间】:2021-04-25 07:06:37 【问题描述】:

我有一个简单的计算方法来求一张卡片(大约 100 张卡片)中 2 个值的平均值。

虽然平均值并没有输入每张卡片,但数字只是从每张卡片中消失。

我是否需要打破循环,研究它看起来像 .find 无论如何都会打破循环......

任何想法:

$(document).ready(function() 
  $(".card").each(function()
    let counter = $(this).find(".counter").val();
    let countPrice = $(this).find(".counter-price").val();
    let result = counter / countPrice;
    $(this).find($(".avPrice").val(result));
  );
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card 688AttackSub">
  <img src="688%20attach%20sub.jpg" >
  <div class="info-container">
    <p>688 Attack Sub</p>
    <p>1995</p>
    <div class="no-sold">
      <p>Number Sold</p>
      <div class="buttons">
        <button class="btn btn-outline-secondary btn-minus"><i class="fa fa-minus"></i></button>
        <input class="form-control counter" min="0" name="quantity" value="0" type="number">
        <button class="btn btn-outline-secondary btn-plus"><i class="fa fa-plus"></i></button>
      </div>
    </div>
    <div class="sold-price">
      <p>Total Sold Price</p>
      <div class="buttons">
        <button class="btn btn-outline-secondary btn-neg"><i class="fa fa-minus"></i></button>
        <input class="form-control quantity counter-price" min="0" name="quantity" value="0" type="number"><button class="btn btn-outline-secondary btn-add"><i class="fa fa-plus"></i></button>
      </div>
    </div>
    <div class="av-price">
      <p>Average Price</p><input class="form-control quantity avPrice" min="0" name="quantity" value="0" type="number">
    </div>
    <div class="last-sold">
      <p>Last Sold Date</p><input class="form-control quantity lastSoldDate" min="0" name="quantity" value="0" type="number">
      <p>Last Sold Price</p><input class="form-control quantity lastSoldPrice" min="0" name="quantity" value="0" type="number">
    </div>
  </div>
</div>
<script src="AvPrice%20calc.js" type="text/javascript"></script>
<script src="Counter.js" type="text/javascript"></script>

【问题讨论】:

【参考方案1】:

两件事。

在每个循环中...$(this) 不是您认为的那样。 您应该使用两个 .each() 参数:indexitem

那么...如果resultNaN,就像除以零一样。确保将值设置为零。由于NaN 是假的,您可以使用or 运算符来做到这一点:

$(item).find($(".avPrice").val(result||0));

$(document).ready(function() 
  $(".card").each(function(index,item)
    let counter = $(item).find(".counter").val();
    let countPrice = $(item).find(".counter-price").val();
    let result = counter / countPrice;
    $(item).find($(".avPrice").val(result||0));
  );
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card 688AttackSub">
  <img src="688%20attach%20sub.jpg" >
  <div class="info-container">
    <p>688 Attack Sub</p>
    <p>1995</p>
    <div class="no-sold">
      <p>Number Sold</p>
      <div class="buttons">
        <button class="btn btn-outline-secondary btn-minus"><i class="fa fa-minus"></i></button>
        <input class="form-control counter" min="0" name="quantity" value="0" type="number">
        <button class="btn btn-outline-secondary btn-plus"><i class="fa fa-plus"></i></button>
      </div>
    </div>
    <div class="sold-price">
      <p>Total Sold Price</p>
      <div class="buttons">
        <button class="btn btn-outline-secondary btn-neg"><i class="fa fa-minus"></i></button>
        <input class="form-control quantity counter-price" min="0" name="quantity" value="0" type="number"><button class="btn btn-outline-secondary btn-add"><i class="fa fa-plus"></i></button>
      </div>
    </div>
    <div class="av-price">
      <p>Average Price</p><input class="form-control quantity avPrice" min="0" name="quantity" value="0" type="number">
    </div>
    <div class="last-sold">
      <p>Last Sold Date</p><input class="form-control quantity lastSoldDate" min="0" name="quantity" value="0" type="number">
      <p>Last Sold Price</p><input class="form-control quantity lastSoldPrice" min="0" name="quantity" value="0" type="number">
    </div>
  </div>
</div>

【讨论】:

感谢 Louys,但公式仍然无法正常工作。 我有一个计数器 Jquery 函数在单独的工作表中工作,这有什么影响吗? 究竟什么是“单独的工作表”? 只是一个单独的计数器函数的JS文件,添加了上面2个脚本标签,计数器函数是***.com/questions/65292530/js-events-for-loop

以上是关于每张卡的平均计算的主要内容,如果未能解决你的问题,请参考以下文章

我试图在 4 名玩家之间平均处理 52 张扑克牌,这意味着他们每人将有 13 张牌。每张只能发牌 4 张

手风琴效果案例

一段时间内的最大和平均债务天数

R语言计算加权平均值:weighted.mean函数计算加权平均值matrixStats包的weightedMean函数计算加权平均值SDMTools包的wt.mean函数计算加权平均值

平均年龄计算公式是啥?

怎么在SQLServer计算列和平均值