字符串、数组、对象的遍历

最近在刷题时遇到很多字符串、数组、对象的遍历的遍历问题,对该类问题做了归纳汇总,便于记忆温习。

1、字符串遍历。

// 可使用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]) }

2、数组遍历。

// 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
}

3、对象遍历。

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)
}

 

                                                           

posted @ 2018-07-10 21:58  你是海上的烟火  阅读(2054)  评论(0编辑  收藏  举报