javascript中的12种循环遍历方法1
1:for循环
let arr = [1,2,3];
for(let i =0;i<arr.length;i++){
console.log(i,arr[i])
}
//for循环是js中最常用的一个循环工具,经常用来数组的循环遍历,
2:for in循环
let obj = {name: 'xiao' ,age:'24'}
for(let i in obj){
console.log(i,obj[i]);
}
//for in 循环主要用于遍历普通对象,i 代表对象的 key 值,obj[i] 代表对应的 value,当用它来遍历数组时候,多数情况下也能达到同样的效果,但是你不要这么做,这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,这意味着在某些情况下,会发生字符串运算,导致数据错误,比如:'52'+1 = '521' 而不是我们需要的 53。另外 for in 循环的时候,不仅遍历自身的属性,还会找到 prototype 上去,所以最好在循环体内加一个判断,就用 obj[i].hasOwnProperty(i),这样就避免遍历出太多不需要的属性。
3:while循环
let cars=[
"BMW"
,
"Volvo"
,
"Saab"
,
"Ford"
];
i=0;
while
(cars[i])
{
console.log(cars[i] +
"<br>"
)
i++;
};
let i = 3;
do
{
console.log(i)
i--;
}
while
(i>0)
let arr = [1,2,3];
arr.forEach(
function
(i,index){
console.log(i,index)
})
另外请注意,forEach 循环在所有元素调用完毕之前是不能停止的,它没有 break 语句,如果你必须要停止,可以尝试 try catch 语句,就是在要强制退出的时候,抛出一个 error 给 catch 捕捉到,然后在 catch 里面 return,这样就能中止循环了,如果你经常用这个方法,最好自定义一个这样的 forEach 函数在你的库里。
6:Array map()方法
let arr = [1,2,3];
let tt = arr.map(function(i){
console.log(i);
return i*2;
})
//map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
注意:map 和 forEach 方法都是只能用来遍历数组,不能用来遍历普通对象。
7:Array filter()方法
let arr = [1,2,3];
let tt= arr.filter(function(i){
return i > 1;
})
//filter 方法是 Array 对象内置方法,它会返回通过过滤的元素,不改变原来的数组。
8:Array some()方法
let arr =[1,2,3];
let tt = arr.some(function(i){
return i > 1;
})
//some() 方法用于检测数组中的元素是否满足指定条件(函数提供),返回 boolean 值,不改变原数组。
9:Array every()方法
let arr = [1,2,3];
let tt = arr.some(function(i){
return i > 1;
})
//every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供),返回 boolean 值,不改变原数组。
10:Array reduce()方法
let arr = [1,2,3];
let ad = arr.reduce(function(i,j){
return i + j;
})
//reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
11:Array reduceRight()方法
let arr = [1,2,3];
let ad = arr.reduceRight(function(i,j){
return i + j;
})
//reduceRight()方法,和 reduce() 功能是一样的,它是从数组的末尾处向前开始计算。
12:for of 循环
let arr = ['name','age'];
for(let i of arr){
console.log(i);
}
//for of 循环是 Es6 中新增的语句,用来替代 for in 和 forEach,它允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代(Iterable data)的数据结构,注意它的兼容性。
转载于:https://www.cnblogs.com/CharlesJian/p/11049990.html
javascript中的12种循环遍历方法1相关推荐
- JS中的12种循环遍历的方法
1.for循环 JS常见的循环,常用于循环数组.字符串之类 let arr = [1, 2, 3]; for (let i = 0; i < arr.length; i++) {console. ...
- JavaScript 中的常用12种循环遍历(数组或对象)的方法
1.for 循环 1 2 3 4 5 6 7 let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i] ...
- html dom节点类型,浅谈Javascript中的12种DOM节点类型
前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...
- JavaScript中哪一种循环最快
for (let i = arr.length; i > 0; i--) {} // for(倒序) :- 1.5ms for (let i = 0; i < arr.length; i+ ...
- matlab 遍历每个像素点,Mat中两种像素遍历方法比较
小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...
- java 遍历对象_java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性...
由于java知识的应用具有一定的广泛性,所以它经常会应用到我们的日常使用当中.那么今天就为大家介绍一下java中some(),every()循环遍历,Object.getOwnPropertyName ...
- JavaScript中的几种继承方式及优缺点,你知道多少呢?
原文连接:JavaScript中的几种继承方式及优缺点,你知道多少呢? 继承也是前端里面的重要的一个知识点,在实际工作中或者面试中也会经常的遇到,那么通过这篇文章我们详细的了解一下继承的几种方式以及各 ...
- 【机器学习】图解机器学习中的 12 种交叉验证技术
今天我给大家盘点下机器学习中所使用的交叉验证器都有哪些,用最直观的图解方式来帮助大家理解他们是如何工作的. 数据集说明 数据集来源于kaggle M5 Forecasting - Accuracy[1 ...
- Python实现二叉树的三种深度遍历方法!
python代码实现了二叉树,这次将会实现二叉树的几种遍历方法,来更好的解析二叉树的结构特点.分别是一种广度遍历,和三种深度遍历方法:先序遍历,中序遍历,后序遍历.下面是代码实现: 1.先序遍历 遍历 ...
最新文章
- 华为鸿蒙手机官网价格表,曝下半年华为将推出两款鸿蒙手机:国内独享,价格良心...
- Xmanager连接Linux 9的方法
- 拒绝穿模!新方法让虚拟偶像自由互动无障碍“贴贴”,8000网友追着点赞
- Codeforces-868C. Qualification Rounds(状压)
- 如何将adb shell里面查到的文件复制到本地电脑
- Android模拟器Genymotion安装apk
- mc有什么红石机器人_我的世界10月考试!来测测你的MC成绩吧~
- 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...
- python dict方法_python dict()方法学习笔记
- 关于学习新知识以及如何做题思考
- java回车不终止_java 在console行输入一串String后回车,仍无法停止。 下面的程序是计算相似度的,当用户输入关键字后...
- 项目进度管理表模板_IT项目进度管理—你能驾驭的项目节奏
- 唤客猫SCRM功能详解(二)
- xp计算机无法正常启动,Windows XP电脑开机出错无法正常启动的解决方法
- centos 7+ssr傻瓜式安装(仅供学习使用)
- 涂鸦智能C/C++面经
- poj1125 Stockbroker Grapevine Floyd算法
- 龙王我当定了(一个在QQ刷龙王的脚本)
- 元宇宙持续火爆,这些问题值得思考和警惕!
- SQLyog设置唯一