JavaScript循環(huán)遍歷小結(jié)
總結(jié)JavaScript中的循環(huán)遍歷
定義一個(gè)數(shù)組和對(duì)象
const arr = ['a', 'b', 'c', 'd', 'e', 'f'];
const obj = {
a: 1,
b: 2,
c: 3,
d: 4
}for()
經(jīng)常用來遍歷數(shù)組元素
遍歷值為數(shù)組元素索引
for (let i = 0; len = arr.length, i < len; i++) {
console.log(i); // 0 1 2 3 4 5
console.log(arr[i]); // a b c d e f
}forEach()
用來遍歷數(shù)組元素
第一個(gè)參數(shù)為數(shù)組元素,第二個(gè)參數(shù)為數(shù)組元素索引,第三個(gè)參數(shù)為數(shù)組本身(可選)
沒有返回值
arr.forEach((item, index) => {
console.log(item); // a b c d e f
console.log(index); // 0 1 2 3 4 5
})map()
用來遍歷數(shù)組元素
第一個(gè)參數(shù)為數(shù)組元素,第二個(gè)參數(shù)為數(shù)組元素索引,第三個(gè)參數(shù)為數(shù)組本身(可選)
有返回值,返回一個(gè)新數(shù)組
every(),some(),filter(),reduce(),reduceRight()不再一一介紹,詳細(xì)請(qǐng)看Js中Array方法有哪些?
let arrData = arr.map((item, index) => {
console.log(item); // a b c d e f
console.log(index); // 0 1 2 3 4 5
return item;
})
console.log(arrData); // ["a", "b", "c", "d", "e", "f"]for...in
可循環(huán)對(duì)象和數(shù)組,推薦用于循環(huán)對(duì)象
用于循環(huán)對(duì)象時(shí)
循環(huán)值為對(duì)象屬性
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key); // a b c d 屬性
console.log(obj[key]); // 1 2 3 4 屬性值
}
}用于遍歷數(shù)組時(shí)
值為數(shù)組索引
for (let index in arr) {
console.log(index); // 0 1 2 3 4 5 數(shù)組索引
console.log(arr[index]); // a b c d e f 數(shù)組值
}當(dāng)我們給數(shù)組添加一個(gè)屬性name
arr.name = '我是自定義的屬性'
for (let index in arr) {
console.log(index); // 0 1 2 3 4 5 name (會(huì)遍歷出我們自定義的屬性)
console.log(arr[index]); // a b c d e f 我是自定義屬性name
}for...of
可循環(huán)對(duì)象和數(shù)組,推薦用于遍歷數(shù)組
用于遍歷數(shù)組時(shí)
遍歷值為數(shù)組元素
for (let value of arr) {
console.log(value); // a b c d e f 數(shù)組值
}用于循環(huán)對(duì)象時(shí)
須配合Object.keys()一起使用,直接用于循環(huán)對(duì)象會(huì)報(bào)錯(cuò),不推薦使用for...of循環(huán)對(duì)象
循環(huán)值為對(duì)象屬性
for (let value of Object.keys(obj)) {
console.log(value); // a b c d 對(duì)象屬性
}總結(jié)
用于遍歷數(shù)組元素使用:for(),forEach(),map(),for...of
用于循環(huán)對(duì)象屬性使用:for...in
以上所述是小編給大家介紹的JavaScript循環(huán)遍歷你會(huì)用哪些小結(jié)篇,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS 設(shè)計(jì)模式之:工廠模式定義與實(shí)現(xiàn)方法淺析
這篇文章主要介紹了JS 設(shè)計(jì)模式之:工廠模式,結(jié)合實(shí)例形式分析了JS 工廠模式基本概念、原理、定義、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
JavaScript設(shè)計(jì)模型Iterator實(shí)例解析
這篇文章主要介紹了JavaScript設(shè)計(jì)模型Iterator實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
快速獲取/設(shè)置iframe內(nèi)對(duì)象元素的幾種js實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄焖佾@取/設(shè)置iframe內(nèi)對(duì)象元素的幾種js實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05
使用TypeScript實(shí)現(xiàn)高效的異步隊(duì)列任務(wù)管理
在javaScript項(xiàng)目開發(fā)中,異步編程是不可或缺的一部分,從網(wǎng)絡(luò)請(qǐng)求到延時(shí)操作,異步操作使得我們能夠在等待某個(gè)任務(wù)完成時(shí)繼續(xù)執(zhí)行其他任務(wù),提高應(yīng)用的響應(yīng)性和性能,本文使用JavaScript實(shí)現(xiàn)一個(gè)異步隊(duì)列來優(yōu)雅地管理復(fù)雜的異步任務(wù)流,需要的朋友可以參考下2024-03-03
微信小程序仿朋友圈發(fā)布動(dòng)態(tài)功能
這篇文章主要介紹了微信小程序仿朋友圈發(fā)布動(dòng)態(tài)界面,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
現(xiàn)代 JavaScript 開發(fā)編程風(fēng)格Idiomatic.js指南中文版
下面的章節(jié)描述的是一個(gè) 合理 的現(xiàn)代 JavaScript 開發(fā)風(fēng)格指南,并非硬性規(guī)定。其想送出的核心理念是高度統(tǒng)一的代碼風(fēng)格(the law of code style consistency)。2014-05-05

