字符串、數組、對象的遍歷

最近在刷題時遇到不少字符串、數組、對象的遍歷的遍歷問題,對該類問題作了概括彙總,便於記憶溫習。es6

一、字符串遍歷。數組

// 可以使用for循環或for/in來遍歷字符串,將索引值賦值給循環變量
var str = 'asd fgh'
for(var i = 0; i < str.length; i ++) {
    console.log(str[i])
}

for(var i in str) { console.log(str[i]) }

二、數組遍歷。spa

// for遍歷
var arr = [11,22,33,44]
for(var i = 0; i < arr.length; i ++) {
    console.log(arr[i])
}
// forEach遍歷,循環變量是數組元素。
arr.forEach(function(item){
    console.log(item) // 11 22 33 44
})
//for/in循環可以遍歷繼承的屬性,即Array.prototype中的屬性,使用時須要額外檢測。
for(var i in arr) {
    if(!arr.hasOwnProperty(i)) continue
    console.log(arr[i])
}
// es6新增的let/of遍歷
for(let value of arr){
    console.log(value) // 11 22 33 44
}

三、對象遍歷。prototype

var obj = {
    name: 'asdf',
    fun(){
        console.log('night')
    }
}
//for/in 遍歷,
for(p in obj) {
    console.log(obj[p])
}
//es6的let/of方法
for(let [key,value] of Object.entries(obj)){
    console.log(key,value)
}
相關文章
相關標籤/搜索