【问题标题】:Is there a way to update an existing array on a button click in Javascript/HTML?有没有办法在 Javascript/HTML 中单击按钮时更新现有数组?
【发布时间】:2019-11-24 13:51:00
【问题描述】:

所以我有一个问题(主要由 Javascript 组成)。我想要的基础是 HTML 中的一个按钮,它触发一个 Javascript 函数,每次按下按钮时都会使用特定的标量更新现有数组。

我目前的代码是这样的:

HTML 端:<button type="button" onclick="scalar()">Click Me!</button>

Javascript 端:

let data = [10, 20];

function scalar() {
    for (i=0; i<data.length; i++)
        data[i] *= 5;
    }

    alert(data);
}

我希望这样做是当我第一次按下按钮时,它会将数组data 更新为[50, 100]。下次我按下它时,它会将data 更新为[250, 500]。但是,由于某种原因,这不能正常工作(我添加了 alert(data) 以查看按下按钮时数组 data 中的内容)。

任何帮助将不胜感激!谢谢。

【问题讨论】:

  • 我添加了一个与您的代码完全相同的 sn-p,但它显示语法错误。你可以edit你的问题,然后点击“edit this sn-p”编辑代码并在Stack Overflow上运行。
  • 警报中显示了哪些值?这些值是始终相同还是在您随后单击按钮时会发生变化?你说的是你的预期行为,而不是实际行为。
  • 我已经编辑了你的 sn-p。它应该按照您的期望工作。
  • @MattStannett 我很抱歉。它不输出任何东西。该按钮确实显示,但是当我单击它时,没有任何警报(当我单击按钮时基本上没有发生任何事情)
  • 您的脚本中缺少}。否则它工作正常。由于拼写错误,投票以离题结束

标签: javascript html arrays function button


【解决方案1】:

试试这个sn-p

let data = [10, 20];

function scalar() {
  for (i = 0; i < data.length; i++) {
    data[i] *= 5;
  }
  alert(data);
  return false;
}
&lt;button type="button" onclick="scalar()"&gt;Click Me!&lt;/button&gt;

块引用

【讨论】:

    【解决方案2】:

    您的代码在 for 循环开始后缺少左括号。一旦你把它放进去,代码就会按预期工作。

    let data = [10, 20];
    
    function scalar() {
        for (i = 0; i < data.length; i++) {
            data[i] *= 5;
        }
    
        alert(data);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多