javascript - 遍历对象数组?

标签 javascript arrays loops object

我正在尝试创建一个印花税计算器。

目前,我有一个包含 3 个属性的对象数组,每个对象具有相同的属性名称但不同的值。

如果单击按钮,我试图遍历此数组以将属性 1 和 2 附加到表格行,但是循环仅附加第一个对象属性,而不附加其他属性。

我知道有过类似的查询,但都没有帮助。我确定我缺少一些简单的东西。

我还附上了一张 img 以便更好地理解问题

enter image description here

这是我的代码

         var taxbands = [
         {
             min: 0,
             max: 125000,
             percent: 0
         },
         {
             min: 125000,
             max: 250000,
             percent: 0.02
         },
         {
             min: 250000,
             max: 925000,
             percent: 0.05
         },
         {
             min: 925000,
             max: 1500000,
             percent: 0.1
         },
         {
             min: 1500000,
             max: null,
             percent: 0.12
         }
     ]

     var tableRow = "<tr><td>{taxband}</td><td>{percent}</td><td>{taxable}</td><td>{TAX}</td></tr>";

     $('#calculate').on('click', function calculateButton() {
        calculateStampDuty();
     })

     function calculateStampDuty() {

        var userInput = parseInt($("#input-value").val());

        for (i = 0; i < taxbands.length; i++) {
            if (userInput < 125000) {
                tableRow = tableRow.replace("{taxband}", taxbands[i].min + "-" + taxbands[i].max);
                $("#explained-table").append(tableRow);
            }
        }

     }

最佳答案

那是因为您将“tableRow”的替换值重新分配给“tableRow”。第一次迭代后,tableRow 不再包含“{taxband}”,replace 无效。

tableRow = tableRow.replace("{taxband}", taxbands[i].min + "-" + taxbands[i].max);
                $("#explained-table").append(tableRow);

您应该添加一个中间变量:

var myRow = tableRow.replace("{taxband}", taxbands[i].min + "-" + taxbands[i].max);
                $("#explained-table").append(myRow );

关于javascript - 遍历对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165311/

相关文章:

java - 将 boolean 数组初始化为 false

c - 为什么我不能在 C 中传递的函数内打印数组的大小?

python - 在Python中使某个语句永远循环

javascript - 带有 imagemapster 的 ie8 - 位置 :absolute not working

javascript - Ng-model 没有按预期工作?

javascript - 如何考虑浏览器兼容性正确创建和使用XML文档对象?

loops - Python 使用 try 和 except 进行循环

javascript - 用光标捕获 Canvas 流

c# - 将 Dictionary<String,List<String>> 传递给 Javascript 数组

java - 有没有办法在数组的 foreach 循环中创建对象