for循环: for(A; B; C) {D}

这里的大括号不是函数,是代码块

var arr = ["hello", "css", "js", "node"];
for (var i = 0; i < 4; i++) {console.log(i, arr[i]);
}; // 打印 0 'hello'   1 'css'   2 'js'   3 'node'var arr = [20, 3, 4, 5, 10, 6, 20, 7, 35, 45, 6, 56, 87, 768];
// 打印数据的第二到第六个元素
for (var i = 1; i < 6; i++) {console.log(arr[i]);
};// 打印这个数组的下标为奇数的元素
var arr = [20, 3, 4, 5, 10, 6, 20, 7, 35, 45, 6, 56, 87, 768];
for (var i = 1; i < arr.length; i += 2) {console.log(arr[i]);
};var arr = [];
for (var i = 0; i < 4; i++) {arr[i] = function () {console.log(i);}
};
arr[0](); // 4
arr[1](); // 4
// i++最后运行

for中的业务条件筛选

var arr = [{age: 20,name: "karen",rank: 580},{age: 14,name: "jack",rank: 480},{age: 19,name: "mary",rank: 600},{age: 12,name: "shae",rank: 680}
];
// 打印数组中对象的名字
for (var i = 0; i < arr.length; i++) {console.log(arr[i].name);
};// 打印年龄大于18岁的对象的名字
for (var i = 0; i < arr.length; i++) {if(arr[i].age>18){console.log(arr[i].name);}
};// 打印年龄大于18 而且rank大于480的对象的名字
for(var i = 0; i < arr.length; i++){if(arr[i].age > 18 && arr[i].rank > 480){console.log(arr[i].name);}
};// 打印年龄小于18 而且rank大于400的对象的名字拼接一个字符串"少年班",大于等于18 rank大于等于480的名字拼接"普通班"
for (var i = 0; i < arr.length; i++) {if (arr[i].age < 18) {if (arr[i].rank > 400) {console.log(arr[i].name + "-少年班")};} else if (arr[i].rank >= 480) {console.log(arr[i].name + "-普通班");}
};
var arr = [{id: 123,text: "内容1",created_at: "2022-04-28 19:22",user: {name: "karen",online_status: 1}},{id: 123,text: "内容2",created_at: "2022-04-27 19:22",user: {name: "jack",online_status: 0}},{id: 123,text: "内容3",created_at: "2022-04-28 19:12",user: {name: "marry",online_status: 1}}
];// 打印每一个对象的text内容 而且在内容后面拼接 在线/不在线
for (var i = 0; i < arr.length; i++) {console.log(arr[i].text);if (arr[i].user.online_status == 1) {console.log(arr[i].text + "--在线");} else if (arr[i].user.online_status == 0) {console.log(arr[i].text + "--不在线");}
};

for的嵌套和业务混合

for循环该怎么嵌套:

1. 不要管内部的for与外部的for的执行的问题 ==> 每一个for都是遍历自己的数组

2. for内部有条件语句和数据处理 得到了一个数组 然后用for去遍历它

var arr3 = [100, 200, 300, [2, 3, 5, 4],{name:"karen"}];
// 取出arr3数组中每一个元素(如果是数组 再取出数组中的元素)
for (var i = 0; i < arr3.length; i++) {if (arr3[i] instanceof Array) {for (var j = 0; j < arr3[i].length; j++) {console.log(arr3[i][j]);}} else {console.log(arr3[i]);}
};// 打印arr数组中的所有字符串
var arr = [{name: "karen",its: ["css", "js", "html"],books: ["book1", "book5"]},{name: "jack",its: ["nodejs", "html"],books: ["book2", "book3", "book6"]},{name: "mary",its: [],books: ["book2"]}
];/* 1. 遍历arr 取出每一个对象2. obj取出它的每一个成员2.1 成员是name直接打印2.2 如果成员是its 是个数组(遍历它)2.3 成员是books 是个数组(遍历它)
*/for (var i = 0; i < arr.length; i++) {var obj = arr[i];console.log(obj.name);for (var j = 0; j < obj.its.length; j++) {console.log(obj.its[j]);}for (var k = 0; k < obj.books.length; k++) {console.log(obj.books[k]);}
};

JS(8)、for循环相关推荐

  1. 原生js循环展示dom_【前端面试】用一道题讲 js 的事件循环队列

    昨天去面了滴滴,一口气面了三面,考了 promise 和事件循环.之前的猿辅导也考察了这些,几乎所有的大厂中厂都一定会考原生 js 的事件循环队列. 今天,我把昨天考察的原题拿出来分析一下. setT ...

  2. JS中for循环里面的闭包问题的原因及解决办法

    JS中for循环里面的闭包问题的原因及解决办法 参考文章: (1)JS中for循环里面的闭包问题的原因及解决办法 (2)https://www.cnblogs.com/ZinCode/p/555190 ...

  3. vue.js根据数据循环生成表格_vue.js循环for(列表渲染)详解

    vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for {{ item.message }} var example1 = new Vue({ el: '#example-1', ...

  4. [js] 使用js实现一个循环队列

    [js] 使用js实现一个循环队列 const queue = [] let queueRunning = false let loopTimer = null const loop = task = ...

  5. JS实现图片循环滚动

    之前在前端的时候有遇到这样一个问题,实现 JS 图片的循环滚动,然后鼠标移入的时候停止滚动,鼠标移开继续滚动,这里无非就是设置了一个定时器,鼠标移上时清除定时器达到滚动停止的目的,鼠标移开时重设定时器 ...

  6. js中for循环调用回调函数,一直循环最后一个

    js的for循环中使用回调函数,获取到的值总是最后一个值?_MLAY-CSDN博客_js 循环回调函数

  7. js结束当前循环关键词_干货||什么是事件循环机制

    事件循环机制 经常有小伙伴问到我什么是 js 的事件循环机制,这里我就简单来给这些有困惑的小伙伴进行一下解答. 我将从下面几个方面来循序渐进的为大家来进行讲解: 区分进程和线程 浏览器的多进程 浏览器 ...

  8. js中的循环(跳过(continue)和中断执行(break))

    js中的循环(跳过(continue)和中断执行(break)) js循环中可以在循环时是可以中断后续执行和跳过的 看下面这个栗子 //计算1~100之间的和 //我们没有学习过循环之前,使用的做法, ...

  9. 分别用marquee和div+js实现首尾相连循环滚动效果

    分别用marquee和div+js实现首尾相连循环滚动效果,特效代码非常精简,仅3行实现! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T ...

  10. d3.js transition无限循环

    d3.js transition无限循环 利用d3.js的 transition实现无限循环.在循环结束后添加一个回调,无限循环就回调自己就可以了.·.on('end,funame),.下面通过d3在 ...

最新文章

  1. EXCEL基础篇(二)
  2. 业务上云后,58到家运维平台的演进之路(含成本规划与监控建议)
  3. python_104_面向对象总结
  4. 2020-11-24(dll注入的N种搞法)
  5. 深入分析线程池的实现原理
  6. jvm的client与server工作模式
  7. Cloudflare推出域名注册服务:不赚利润只收取成本费
  8. xSeries 232双机热备份配置(塔式)
  9. vue制作echart图表随着画面等比例放大缩小
  10. CTCconnectionist temporal classfication: labelling unsegmented sequence data with recurrent(一)
  11. VS2017下搭建OPEN CASCADE
  12. 同步七进制计数器设计
  13. A short theory of channel flow
  14. 【NiosII训练】第二篇、FPGA驱动AD9854高级篇
  15. n以内的最多因子数的数 n=1e18
  16. 小程序长按识别公众号二维码、个人微信号、企业微信号、微信群、-已实现
  17. Mysql占用CPU过高排查过程及可能优化方案
  18. fdisk命令 – 磁盘分区
  19. 问卷调查网站制作-前后端开发
  20. 吉大计算机专业有名的导师,2019吉林大学计算机科学与技术学院导师简介:申铉京...

热门文章

  1. 静态成员及友元(小题)
  2. 推荐一款运动蓝牙耳机,最全运动蓝牙耳机推荐
  3. 摆脱枯燥的文字描述——markdown表情包黑科技
  4. DevOps on DevCloud|如何实现应用接口的混合驱动测试
  5. C语言换行带来的问题
  6. Python-OpenCV图像水平/垂直/水平垂直翻转
  7. surface book3屏幕背后发热问题解决(无法解决)
  8. 电路板电压不稳原因分析
  9. c++ string int转化 #define INTMAX 0x7fffffff
  10. SeniorUI0503_Xfermode刮刮卡(橡皮檫)效果