• TypeScript中慎用forEach


    今天调试js,其中用到了forEach。发现forEach方法跟预想的不太一样,去网上一搜找到了这篇。记录并分享一下。

    jQuery 中大家都使用 each,而很少用 for,在 TypeScript 中也有类似的现象,都用 forEach,而很少用 for,但是其实 for 真的挺好用。而 forEach 反而要慎用。

    误用一、用在查找

    var arr = [4, 5, 6]; // 各元素值不同
    arr.forEach((item) => {
        if (item == user.id) {
            // do something
        }
    });

    上述代码大意是想在一个数组中,找到与 id 对应的值,找到后做点事。

    其实像上述这种情况下,往往我们需要在找到后 break 的,但是 forEach 不能 break,不管你 return 什么。

    误区二、类似 for 中删除数组元素

    var arr = [4, 5, 6];
    arr.forEach((item, index) => {
        console.log(item + "x" + index);
        if (item > 4) {
            arr.splice(index, 1);
        }
    });
    console.log(arr);

    结果只循环了 2 次,6 根本就没有进入循环,原来这个删除了之后,数组后面的前移了,但是指针还在后移,就漏掉了一个元素。

    原文来源:http://www.itpow.com/c/2019/12/11669.asp

  • 相关阅读:
    JDK7集合框架源码阅读(四) LinkedHashMap
    JDK7集合框架源码阅读(三) HashMap
    JDK7集合框架源码阅读(二) LinkedList
    在django中解决跨域AJAX
    Python基础之文件操作
    Python基础之深浅copy
    Python基础之集合set
    Python基础之range()
    Python基础之enumerate枚举
    Python基础之for循环
  • 原文地址:https://www.cnblogs.com/lylMemory/p/15181512.html
Copyright © 2020-2023  润新知