点击播放看效果

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>for里面是采用setInterval遍历二维数组,for循环到最后一个数的时候,才执行setInterval的问题解决</title>
</head>
<body>
<button id="play">播放</button>
<script>
var sumPath=[
{
RowKey:"LNBSCB3F2FD11327120190327091134",
point:[
{Longitude: "104.074027",Latitude:"30.707441"},
{Longitude: "104.109422", Latitude: "30.669311"},
{Longitude: "104.108675", Latitude: "30.665402"},
{Longitude: "104.108667", Latitude: "30.665388"}]},
{
RowKey:"LNBSCB3F2FD11327120190327103555",
point:[
{Longitude: "104.113186", Latitude: "30.663265"},
{Longitude: "104.114061", Latitude: "30.663335"},
{Longitude: "104.11468", Latitude: "30.663531"},
{Longitude: "104.115255", Latitude: "30.663612"},
{Longitude: "104.11565", Latitude: "30.663767"}
]
}]; // 怎么按顺序遍历二维数组 ,如果是for里面是一个setInterval,则到for循环到最后一个数的时候,才执行setInterval。 需要用2个setInterval来解决,setInterval是异步的,里面却是同步的
document.getElementById("play").addEventListener("click",function () {
firstTraverse();
});
var firstIndex=0;// 第一层数组的index
var secondIndex=0;// 第二层数组的index
// 第一层的遍历
function firstTraverse () {
var firstInterval=setInterval(function () {
clearInterval(firstInterval);
if(firstIndex<sumPath.length){
var point=sumPath[firstIndex].point;
secondTraverse(point);// 第二层数组传过去
console.log("第一层的index:"+firstIndex);
}
},1000)
}
// 第二层的遍历
function secondTraverse (point) {
var secondInterval=setInterval(function () {
if(secondIndex<point.length){
console.log("第二层的index:"+secondIndex);
drivePath();
}else {
clearInterval(secondInterval);// 要清的是第二个定时器
secondIndex=0;
firstIndex++;
firstTraverse();// 从第一个开始重新调用
return;
}
secondIndex++;
},1000)
}
// 划线
function drivePath() { }
</script>
</body>
</html>

for里面是采用setInterval遍历二维数组,for循环到最后一个数的时候,才执行setInterval的问题解决的更多相关文章

  1. C:指针遍历二维数组

    C 指针遍历二维数组 http://blog.csdn.net/lcxandsfy/article/details/55000033 C++ 字符串指针与字符串数组 https://www.cnblo ...

  2. C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why?

    C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why? 简单粗暴的答案:存在Cache机制! 稍微啰嗦一点:CPU访问内存(读/写,遍历数组的话主要是读) ...

  3. php中遍历二维数组并以表格的形式输出

    一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1, ...

  4. php中foreach循环遍历二维数组

    最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题 (因为 ...

  5. ANSI C遍历二维数组指针地址

    #include <stdio.h> int main() { ][] = {,,,}; //等价于{{1,2},{3,4}}; ; i < ; i++) { ; j < ; ...

  6. C++入门经典-例6.11-使用指针变量遍历二维数组

    1:代码如下: // 6.11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #inc ...

  7. 20130330 printf数组改变 数组指针便利二维数组 二级指针遍历二维数组 ZigZag

    1.为什么printf之后数组的值会改变? #include<stdio.h> ; int * Zigzag() { ,j=,limit=; ; ; int a[N][N]; int (* ...

  8. js 二维数组 for 循环重新赋值

    javascript 二维数组的重新 组装 var arr = [[1,2],[3,4],[5,6],[7,8]]; var temp = new Array(); for(var i= 0 ;i&l ...

  9. PHP中遍历二维数组—以不同形式的输出操作

    <body> <?php //定义二维索引数组$arr = array(    array("101","李军","男", ...

随机推荐

  1. [Linux]目录x权限对文件操作的影响

    问题 我们常使用linux以下命令 cd 进入目录 ls 列出目录中的文件 或者直接打开目录中的文件 以上操作对于目录权限位的设置来说,是有一定迷惑性的,如表格所示   cd进入该目录 cd进入该目录 ...

  2. kafka_2.11-2.1.0测试

    kafka测试启动创建topic ./kafka-topics.sh --create --zookeeper dip005:2181,dip006:2181,dip007 --replication ...

  3. liunx mysql 备份

    执行命令:mysqldump -uroot -p lanwei > lanwei2018-08-02.sql 出错 -bash: mysqldump: command not found 查看m ...

  4. javac编译后运行提示找不到或无法加载主类

    第一种常见错误: package demo_01; public class hello { public static void main(String[] args) { System.out.p ...

  5. Android 基础一 TextView,Style样式,Activity 传值,选择CheckBox 显示密码

    1.修改TextView字体 mTextView = (TextView) findViewById(R.id.textview1); mTextView.setText("I am her ...

  6. C++类的成员

    1.成员变量 成员变量可以是任何类型,如基本数据类型.引用.另一个类的对象或指针.自身类的引用或指针,但不能是自身类的对象: 成员变量不能指定为auto.register.extern 存储类型. 1 ...

  7. CoopyIII开发文档之控制LED灯开关

    作者:那年:QQ:843681152 一. CooplyIII环境的搭建 工欲善其事必先利器,如何搭建CooplyIII的开发环境是一切coolpyIII开发的前提.CoolpyIII作者内cool超 ...

  8. 美团小程序框架mpvue入门

    mpvue 主要特性 使用 mpvue 开发小程序,你将在小程序技术体系的基础上获取到这样一些能力: 1. 彻底的组件化开发能力:提高代码复用性 2. 完整的 Vue.js 开发体验 3. 方便的 V ...

  9. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  10. vi编辑器常用操作

    vi的三种模式 1.命令模式 2.编辑模式 3.末行模式(命令模式下,按":"即可进入末行模式) 命令模式到编辑模式:插入命令i,附加命令a,打开命令o,修改命令c,取代命令r,替 ...