You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何实现点击按钮按顺序逐个输出排序后数组的元素

要实现按升序顺序逐个输出数组元素,只需调整代码存储排序后的数组和当前读取的位置索引即可,修改逻辑如下:

  • 提前对数组做升序排序,注意数组元素为字符串格式,排序时转为数字比较可避免字符串排序的逻辑误差
  • 在点击事件外定义索引变量,记录下一次要读取的数组位置,避免每次点击重置状态
  • 每次点击时读取当前索引的元素,写入文本框后索引自增,可按需配置超过数组长度后是循环回到开头还是终止输出

完整修改后代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea name="pr" id="pr"></textarea>
<br>
<input type="button" id="okok" value="Start">

<script>
// 定义数组并做升序排序
const myArray = ["5", "8", "7", "2"].sort((a, b) => Number(a) - Number(b));
// 定义当前读取索引,初始值为0
let currentIndex = 0;

$(document).on("click", "#okok", function() {
  const nilai = document.getElementById("pr");
  // 读取当前索引对应的元素
  const currentItem = myArray[currentIndex];
  nilai.value = currentItem;
  // 索引自增,取余实现循环输出,不需要循环可替换为下方注释的逻辑
  currentIndex = (currentIndex + 1) % myArray.length;
  
  // 不需要循环的逻辑:遍历完所有元素后不再更新
  // if (currentIndex < myArray.length - 1) {
  //   currentIndex++;
  // }
});
</script>

原代码中重复引用了两个版本的jQuery,上述代码已经删除了多余的1.10.2版本引用,不影响功能正常运行。

内容的提问来源于stack exchange,提问作者yagami cell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:18:04