weixin_46389470 2022-07-13 11:29 采纳率: 100%
浏览 30
已结题

js原生代码操作数组

问题遇到的现象和发生背景

js输入一个init数组,数组里只有数字,数字代表秒数,要求将数组内的元素逐个按秒数间隔打印出来

问题相关代码,请勿粘贴截图
    var arr = ['7', '5', '3', '1', '3']
    function timeArr(arr) {
        arr.forEach((i, v) => {
            setTimeout(() => {
                // console.log(arr[v]);
                console.log(i);
            }, i* 1000)
        })
    }
    timeArr(arr)
运行结果及报错内容

一秒时打印1三秒时打印3依次到7

我的解答思路和尝试过的方法
我想要达到的结果

按数组顺序7秒时打印7过五秒后再打印5依次打印

  • 写回答

1条回答 默认 最新

  • 归来巨星 新星创作者: 前端开发技术领域 2022-07-13 11:42
    关注
    
          var i = 0;
          var arr = ["7", "5", "3", "1", "3"];
          function timeArr(arr) {
            setTimeout(() => {
              console.log(arr[i]);
              i++;
              i >= arr.length ? null : timeArr(arr, i);
            }, arr[i] * 1000);
          }
          timeArr(arr);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月13日