tofacebook.com -专业IT技术社区 js forEach for区别 Web程序【tofacebook.com】 - tofacebook.com-专业IT技术社区
144°

js forEach for区别 Web程序【tofacebook.com】

标签:tle   html   color   添加   style   nbsp   lan   回调函数   das   

1、循环中断差别

具体见示例代码:

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>js for forEach区别 </title>
    </head>

    <body>
        <script src="https://cdn.bootcss.com/lodash.js/4.17.10/lodash.min.js"></script>
        <script type="text/javascript"> let arr = [1, 2, 3, 4] for(let i = 0; i < arr.length; i++) { if(arr[i] == 2) { continue; //break;
 } console.log(arr[i],  for) } for(let i in arr) { if(i == 2) { break; } console.log(arr[i],  for in) } for(let i of arr) { if(i == 2) { break; } console.log(i,  for of) } arr.forEach(val => { if(val == 2) { //此处的return false 仅仅相当于continue
                    return false; //break或者continue均不能使用 会报错,对于map filter方法一样会报错
                    //break;
                    //continue
 } console.log(val,  forEach) }) </script>
    </body>

</html>

数组的迭代方法:every、filter、forEach、map、some均不能使用break或者continue进行中断循环。

以上几个函数的参数都是:一个回调函数 和 一个this的指向

array.map(function(currentValue,index,arr), thisValue)

 

2、数组变化时差别

(1)数组添加操作

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>js for forEach区别 </title>
    </head>

    <body>
        <script src="https://cdn.bootcss.com/lodash.js/4.17.10/lodash.min.js"></script>
        <script type="text/javascript"> let arr = [1, 2, 3, 4] for(let i = 0; i < arr.length; i++) { if(arr[i] == 2) { //对于添加时,for可以遍历新数组
 arr.push(5) } // 输出1 2 3 4 5
 console.log(arr[i],  for) } arr.forEach(val => { if(val == 2) { //对于添加时,forEach
 arr.push(5) } // 输出1 2 3 4 5
 console.log(val,  forEach) }) </script>
    </body>

</html>

(2)数组更新、删除操作

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>js for forEach区别 </title>
    </head>

    <body>
        <script src="https://cdn.bootcss.com/lodash.js/4.17.10/lodash.min.js"></script>
        <script type="text/javascript"> let arr = [1, 2, 3, 4] for(let i = 0; i < arr.length; i++) { if(arr[i] == 2) { //对于更新、删除时,for可以遍历新数组
 arr[1] = 100
                    //arr.splice(i,1)
 } // 输出1 100 3 4
 console.log(arr[i],  for) } arr.forEach((val, i) => { if(val == 2) { //对于更新、删除时,forEach可以遍历新数组
 val = 100
                    //arr.splice(i,1)
 } // 输出1 100 3 4
 console.log(val,  forEach) }) </script>
    </body>

</html>

 

js forEach for区别

标签:tle   html   color   添加   style   nbsp   lan   回调函数   das   

原文地址:https://www.cnblogs.com/mengfangui/p/9577433.html


本文由百家号/熊掌号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。

已有 0 条评论

    我有话说: