美文网首页
js 中的多种循环

js 中的多种循环

作者: 4ANH | 来源:发表于2020-08-07 13:42 被阅读0次

js中有很多种循环方式,但是实际开发中很多人却总局限于for、forEach、for...in等基础的循环,根据需求不同使用不同的循环,可以让开发事半功倍

1.for 最常用的循环

关于for循环:for(初始化;条件;迭代) { 执行 }
执行顺序:初始化-条件-执行-迭代-条件-执行-迭代...

//从0开始依次递增 0 1 2 3...9
for(var i=0;i<10;i++){}
//从10开始依次递减 10 9 8 7...1
for(var i=10;i>0;i--){}

2.forEach

Array.forEach(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:数组本身
})

3.each

$("div").each(function(index,item){
//index:当前循环索引  item:当前循环项
})
$.each(Array,function(index,item){
//index:当前循环索引  item:当前循环项
})

4.for...in

for...in本身是为对象构建的,不建议数组使用

var obj = {a:1, b:2, c:3};
for (var prop in obj) {
  console.log("obj." + prop + " = " + obj[prop]);
}
//obj.a = 1
//obj.b = 2
//obj.c = 3

5.for...of

for...of是ES6新增的循环方法,与for...in类似,但不可循环对象

6.map (不会改变原始数组)

Array.map(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
})

7.filter (不会改变原始数组)

返回数组,包含了符合条件的所有元素,如果没有符合条件的元素则返回空数组

var array=[1,2,3,4,5,6];
array.filter(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
    return item>2
})

8.every (不会改变原始数组)

用于检测数组所有元素是否都符合指定条件

var array=[1,2,3,4,5,6];
array.every(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
    return item>1
})
//false

9.some (不会改变原始数组)

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测

var array=[1,2,3,4,5,6];
array.some(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
    return item>2
})

10.find (不会改变原始数组)

返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined

var array=[{"name":"张三","sex":1},{"name":"李四","sex":2},{"name":"王五","sex":1}];
array.find(function(item,index,arr){
//item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
    return item.sex==2
})
//{name: '李四', sex: 2}

11.reduce

接收一个函数作为累加器,执行每个数组元素的函数

Array.reduce(function(total,item,index,arr){
//total:初始值,或者计算结束后的返回值  item:当前循环项  index:当前循环索引  arr:当前元素属于的数组对象
},初始值)

reduce用途很多,如:求和,取最值,去重等
一、求和
var arr = [3,9,4,3,6,0,9];
var sum = arr.reduce(function (prev, cur) {
    return prev + cur;
},0);

二、取最值
var max = arr.reduce(function (prev, cur) {
    return Math.max(prev,cur);
});

三、去重
var newArr = arr.reduce(function (prev, cur) {
    prev.indexOf(cur) === -1 && prev.push(cur);
    return prev;
},[]);

12.switch case

用于基于不同的条件来执行不同的动作

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
}  

相关文章

  • js 中的多种循环

    js中有很多种循环方式,但是实际开发中很多人却总局限于for、forEach、for...in等基础的循环,根据需...

  • javascript中的各种for循环

    javascript中的各种for循环 js中可用于数组的for循环有很多种,包括for..in,for...of...

  • JavaScript 04 (do...while循环/for

    js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的contin...

  • js循环的多种方式

  • 06-循环结构

    //js中的循环分为for循环和while循环 //1.for循环//a.for- in (和python中的fo...

  • JS 数组循环遍历方法的对比

    JS 数组循环遍历方法的对比 JavaScript 发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行...

  • js 中的循环

    在讲循环的之前,先知道一下循环结构的执行步骤1、声明循环变量;2、判断循环条件;3、执行循环体操作;4、更新循环变...

  • js 中的 for 循环

    特点 一 for循环设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 执行结果

  • Js中的for循环

    在JS中主要的循环包含 while do while for for-in在这些循环中,使用最多的是for循环,下...

  • JS中的循环

    循环 循环的目的:在实际问题中,有许多规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句 JS中的...

网友评论

      本文标题:js 中的多种循环

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