js数组常用循环
发布日期:2021-05-09 09:32:36 浏览次数:23 分类:博客文章

本文共 1889 字,大约阅读时间需要 6 分钟。

1.for循环

let arr=[1,2,3,4,5] for (let i = 0; i < arr.length; i++) { 	//continue 	//return    console.log(arr[i]) }

for循环中的 continue 可以结束本次循环,直接进行下次 i 改变的循环,return 结束整个循环。

2.forEach()

arr.forEach((item,index,array)=>{    console.log(item);    console.log(index);    console.log(array);})

foeEach 没有返回值,不会改变原数组,item 是每次的值, index 是 下标 ,array 是数组本身,forEach 不支持 continue return 语句。

3.map()

let arr = [1, 2, 3, 4];let newArr = arr.map((item, index, array) => {  return item * 10;});console.log(newArr);  //  [10, 20, 30, 40];console.log(arr);

map 不会改变原数组,会返回一个处理过后新数组 ,Item,index,array 同 forEach一样。改变新数组 newArr 的 内容 不会改变原数组。

4.filter()

let arr = [1, 2, 3, 4];let newArr = arr.filter((item, index, array) => {  return item >  2;});console.log(newArr);  // [3,4]console.log(arr);  // [1, 2, 3, 4]

filter 过滤 不改变原数组,会返回一个新数组。会过滤掉不符合条件的元素,把符合条件的元素添加到一个新数组中,

5.reduce()

let arr = [1, 2, 3, 4];let newArr = arr.reduce((x, y,index,array) => {	console.log("x,"+x);	console.log("y,"+y);	console.log("x+y,",Number(x)+Number(y));	return x + y;});console.log(newArr);  // 10console.log(arr);  // [1, 2, 3, 4]

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值,

x 必填 初始值或计算结束后的返回值,
y 必填 当前元素
index 非必填 当前元素的索引
array 非必填 当前数组

6.every()

let arr = [1, 2, 3, 4];let flag = arr.every((item, index, array) => {  return item > 3;});console.log(flag);

every() 每一项都为true,只要有一项不符合条件就为false,就返回false。

7.some()

let arr = [1, 2, 3, 4];let flag = arr.some((item, index, array) => {  return item > 5;});console.log(flag);

循环数组,数组中有一项符合条件就返回true,并且停止循环,否则返回false。

8.for of

let arr = [1, 2, 3, 4];for (const item of arr) {    console.log(item);}

9.for in

#遍历数组let arr = [1, 2, 3, 4];for (var index in arr) {  console.log(arr[index]);}#遍历对象let obj={a:1,b:2,c:3}for (var key in obj) {  if(obj.hasOwnProperty(key)){    console.log(key)  }}

for in 可以遍历到 obj 的原型方法method,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnPropery方法可以判断某属性是否是该对象的实例属性。

上一篇:Android neon加速优化
下一篇:Yii2配合LinuxCrontab执行定时脚本

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月22日 14时15分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程 2023-01-23
JS系列(仅供参考):【浏览器编程】浏览器F12调试工具面板详解和JavaScript添加断点 2023-01-23
Kali 更换源(超详细,附国内优质镜像源地址) 2023-01-23
kali安装docker(亲测有效) 2023-01-23
Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置 2023-01-23
Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式 2023-01-23
mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法 2023-01-23
Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案 2023-01-23
Nmap渗透测试指南之探索网络 2023-01-23
Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集 2023-01-23
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务、snmp服务 2023-01-23
PHP系列:PHP 基础编程 2(时间函数、数组---实现登录&注册&修改) 2023-01-23
PHP系列:使用PHP实现登录注册功能的完整指南 2023-01-23
Python&aconda系列:cmd/powershell/anaconda prompt提示“系统找不到指定的路径”(亲测有效) 2023-01-23
Python&aconda系列:conda踩坑记录2.UnsatisfiableError: The following specifications were found to be incompa 2023-01-23
Python&aconda系列:Jupyter Notebook快速上手、深度学习库PyTorch安装 2023-01-23
Python&aconda系列:(W&L)Conda使用faiss-gpu报错及解决办法、安装numpy的坑、cmd执行Python脚本找不到第三方库、安装tensorflow-gpu时遇到的from 2023-01-23
python&anconda 系列:Pycharm在debug问题的N种解决方案(一般程序、web方向、人工智能方向) 2023-01-23
python&anconda系列(亲测有效):tensorflow AttributeError: ‘str’ object has no attribute ‘decode’ 2023-01-23
python&anconda系列:tf.keras.backend.get_session()和keras.backend.get_会话()返回不同的会话对象(待解答) 2023-01-23