遍历对象
for (let k in obj) {}
循环遍历对象自身的和继承的可枚举属性 (循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)
let obj = {'0':'a','1':'b','2':'c'}
for (let k in obj) {
console.log(k+':'+obj[k])
}
//0:a
//1:b
//2:c
Object.keys(obj)||Object.values(obj)
返回一个遍历对象属性或者属性值的数组(不含Symbol属性)。
let obj = {'0':'a','1':'b','2':'c'}
console.log(Object.keys(obj))
//["0","1","2"]
console.log(Object.values(obj))
//["a","b","c"]
3.Object.getOwnPropertyNames(obj)
返回一个遍历对象属性或者属性值的数组(不含Symbol属性,自身属性——不含原型上的属性)。
let obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key,obj[key]);
});
// 0 a
// 1 b
// 2 c
遍历数组
arr.forEach
注意,参数是一个匿名函数,且第一个参数是数组成员的value,第二个是他们的index。
let arr = ['a','b','c','d']
arr.forEach((item,index)=>{
console.log(index,item)
})
//0 "a"
//1 "b"
//2 "c"
//3 "d"
for(let k in arr){}
let arr = ['a','b','c','d']
for(let k in arr){
console.log(k,arr[k])
}
// 0 a
// 1 b
// 2 c
// 3 d
k是每一个数组成员的index值。
for(let k of arr){}
k是每一个数组成员的value值。
不仅支持数组,还支持大多数类数组对象(伪数组),例如DOM NodeList对象.
也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.
let arr = ['a','b','c','d']
for(let k of arr){
console.log(k)
}
// a
// b
// c
// d