美文网首页
【ts】循环相关

【ts】循环相关

作者: 计西 | 来源:发表于2019-05-29 19:49 被阅读0次

【注意】:forEach内使用break和return无效!

forEach方法中对数组进行splice()的处理

forEach是一个迭代器,在调用了这个方法之后就无法中断循环。
splice()是移除数组元素的一个方法。

【输入】定义测试数组

var a = [1,2,3,4,5];

测试方法

var func = function(arr){
        arr.forEach((iter, index)=>{
            console.log("iter:"+iter+"; index:"+index);
            arr.splice(0, 1);
        });
    }

【输出】调用方法查看结果

 this.func(a);

// 输出
iter:1; index:0
iter:3; index:1
iter:5; index:2

解析

在forEach()的时候,index值依次加1,循环了3次就结束了,说明循环中的splice()是对数组a起了作用的
(此处专门说明是因为貌似在Java的forEach中对数组长度进行修改会报错)。

第一次循环,index = 0,数组为【1,2,3,4,5】,iter = a[index] = 1;a.splice(0, 1),此时数组为【2,3,4,5】
第二次循环,index = 1,数组为【2,3,4,5】, iter = a[index] = 3; a.splice(0, 1), 此时数组为【3,4,5】
第三次循环,index = 2,数组为【2,4,5】, iter = a[index] = 5; a.splice(0,1), 此时数组为【3,4】
不满足下一次循环条件,结束循环。

相关文章

  • 【ts】循环相关

    【注意】:forEach内使用break和return无效! forEach方法中对数组进行splice()的处理...

  • TS -- for of循环

    # 1 : forEach --- 循环val值 --- 不可break var arr = ['a','b',...

  • vue循环与显示

    vue循环 v-for循环普通数组 数组索引值 循环对象数组 循环对象,值(1,ts,man)键(id,name,...

  • ts相关技巧

    event类型的声明1.1. 如果只有一个event参数的情况下,只需指定回调函数类型即可 1.2. 即有even...

  • 前端发展与思考

    跨端 Flutter Web Mobile Node cli 相关 BFF + TS 相关 公共组件、npm 包 ...

  • 循环相关

    1.for循环 有限循环 2.while循环

  • 【ts】 数组相关处理

    // 会不定期更新数组相关内容 ======= 合并 ======= ======= 去重 =======

  • Python学习-循环

    查看所有Python相关学习笔记 while循环,for循环,break,continue 循环 while循环 ...

  • ionic2/3管道pipe

    管道相关的资料:https://www.angular.cn/docs/ts/latest/guide/pipes...

  • js常用数组遍历

    一、for循环类基础for循环 for in循环 for in循环 二、返回值相关forEach循环 find,m...

网友评论

      本文标题:【ts】循环相关

      本文链接:https://www.haomeiwen.com/subject/vxhutctx.html