JavaScript中循环方法有哪些,你知道几个�
Admin 2021-05-24 群英技术资�
js中的循环方法有哪些?关于在JavaScript 中的遍历循环的方法很多,下面给大家分享的是for循环、for...in循环、for...of循环、foreach(...)、some(...)、every(...)这六种循环,感兴趣的朋友可以参考学习�
对于数值索引的数组来说,可以使用标准的for循环来遍历�
const arr=[1,2,3,4]; for(let i=0;i<arr.length;i++){ console.log(i); }
for...in循环可以用来遍历对象的可枚举属性列表(包括原型链上的属性)
const myObject={}; Object.defineProperty(myobject,"a",{ //可枚� enumerable:true, value:2, }) Object.defineProperty(myobject,"b",{ //不可枚举 enumerable:false, value:2, }) for(let k in myObject){ console.log(k,myObject[k]) // a 2 } //使用for...in循环是无法直接获得属性值的,因为它实际遍历的是对象中的所有可枚举属性, //所以你需要手动获得属性�.
在数组上应用for...in循环,不仅仅会包含所有数值索引,还会包含所有可枚举属性。所以最好在对象上应用for...in循环。如果要遍历数组最好使用传统的for循环来遍�.
1.ES6新增的for...of循环
const arr=[1,2,3]; for(let value of arr){ console.log(value) //1 //2 //3 }
for...of循环首先会向所有被访问的对象请求一个迭代器对象,然后通过调用迭代器对象的next()方法来遍历所有返回值。在数组中有内置的@@iterator,因此for...of可以直接应用在数组上�
使用内置的@@iterator遍历数组
const arr=[1,2,3]; //获取数组中的iterator对象:使用ES6中的符号Symbol.iterator来获取对象的@@iteraotr内部属�. //@@iterator本身不是一个迭代器,而是一个返回迭代器对象的函数� const it=arr[Symbol.iterator](); it.next(); //{value:1,done:false} it.next(); //{value:2,done:false} it.next(); //{value:3,done:false} it.next(); //{done:true} //调用迭代器的next()方法会返回形式为{value:..,done:..}的值; //value为当前的值,done是一个布尔值,表示是否还存在可以遍历的�
2.给对象定义@@iterator
const myObject={ a:2, b:3 } Object.defineProperty(myObject,Symbol.iterator,{ enumerable:false, writeable:false, configurable:true, value:function(){ let o=this; let idx=0; //对象中的属性数� let ks=Object.keys(o); return{ value:o[ks[idx++]], done:(idx>ks.length); } } }) const it=myObject[Symbol.iterator](); it.next(); //{value:2,done:false} it.next(); //{value:3,done:false} it.next(); //{done:true} for(let value of myObject){ console.log(value); } // 2 // 3
**forEach()**
方法对数组的每个元素执行一次给定的函数�
const arr = ['a', 'b', 'c']; arr.forEach(element => console.log(element)); // a // b // c
arr.forEach(callback(currentValue [,index [,array]])[,thisArg])
some()是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true�
var arr = [ 1, 2, 3, 4, 5, 6 ]; console.log( arr.some( function( item, index, array ){ console.log( 'item=' + item + ',index='+index+',array='+array ); return item > 3; })); // item=1,index=0,array=1,2,3,4,5,6 // item=2,index=1,array=1,2,3,4,5,6 // item=3,index=2,array=1,2,3,4,5,6 // item=4,index=3,array=1,2,3,4,5,6 // true
every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true�
var arr = [ 1, 2, 3, 4, 5, 6 ]; console.log( arr.every( function( item, index, array ){ console.log( 'item=' + item + ',index='+index+',array='+array ); return item > 3; })); // item=1,index=0,array=1,2,3,4,5,6 // false
关于js 循环方法的介绍就到这,上述示例有一定的借鉴价值,有需要的朋友可以参考学习,希望本文对大家了解JavaScript的循环有帮助,更多js循环方法,可以关注其他文章�
文本转载自脚本之�
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容�
猜你喜欢
JS实现数组去重有什么简单方法呢?JS实现数组去重的方法有很多,下面分享两个简单的方法,及注意事项。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧�
这篇文章主要介绍了Vue前端打包的详细流�,下面文章围绕Vue前端打包的相关资料展开详细内容,需要的小伙伴可以参考一下,希望对大家有所帮助
二维数组本质上是以数组作为数组元素的数组,即"数组的数�",类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩�:n阶方阵主对角线外都是零元�
这前有篇文章跟大家聊了Bootstrap网格系统,这篇文章给大家分享Bootstrap网格布局实现垂直和水平对齐的内容。小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧�
本篇文章给大家带来了关于JavaScript中面向对象的相关知识,其中包括面向对象、构造函数以及继承的相关问题,希望对大家有帮助�
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所�
增值电信经营许可证 : B1.B2-20140078