字符串、数组、对象的遍历
最近在刷题时遇到很多字符串、数组、对象的遍历的遍历问题,对该类问题做了归纳汇总,便于记忆温习。
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) }