国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

JavaScript 中的六種循環方法

瀏覽:80日期:2023-10-05 14:02:20
Javascript中的遍歷循環1.for循環

對于數值索引的數組來說,可以使用標準的for循環來遍歷值

const arr=[1,2,3,4];for(let i=0;i<arr.length;i++){ console.log(i);}2.for...in循環

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循環來遍歷.

3.for...of循環

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// 34.foreach(...)

**forEach()** 方法對數組的每個元素執行一次給定的函數。

const arr = [’a’, ’b’, ’c’];arr.forEach(element => console.log(element));// a// b// c

arr.forEach(callback(currentValue [,index [,array]])[,thisArg])5.some(...)

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// true6.every(...)

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

以上就是JavaScript 中的六種循環方法的詳細內容,更多關于JavaScript 循環的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产成人精品高清免费 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 91视频综合网 | 亚洲国产精品看片在线观看 | 乱码在线中文字幕加勒比 | 草草影院在线播放 | 全免费a级毛片免费看不卡 全免费毛片在线播放 | 免费一级欧美在线观看视频片 | 国产精选一区二区 | 国产乱子伦真实china | 大量愉拍情侣在线视频 | 国产成人精品日本亚洲网址 | 中国农村一级毛片 | 亚洲成人中文字幕 | 国产成人免费高清在线观看 | 97青娱国产盛宴精品视频 | 99精品网| 国产精品久久久久免费视频 | 日本女人在线观看 | 亚洲国产天堂久久精品网 | 波多野结衣在线播放 | 女女互操 | 久久久久免费精品国产 | 亚洲精品午夜国产va久久成人 | 久操免费在线 | 久青草免费视频 | 美国一级特a黄 | 在线观看毛片视频 | 99久国产 | 午夜毛片免费观看视频 | 亚洲欧美国产日韩天堂在线视 | 亚洲免费成人网 | 亚洲理论片在线中文字幕 | 日本 欧美 国产 | 亚洲欧美国产中文 | 99在线国产| 成人三级视频在线观看 | 综合自拍亚洲综合图区美腿丝袜 | 久久一区二区三区免费 | 亚洲欧美日韩中文字幕在线一区 | 欧美第一视频 |