eg1:遍历数组javascript
var arr=['a','b','c','d']; for(let index in arr){ console.log(index);// 0 1 2 3 console.log(arr[index]);// a b c d }
eg2:遍历对象java
var obj={ name:"Jin", age:11, [Symbol()]:123, } for(let index in obj){ console.log(index);//name age console.log(obj[index]);//Jin 11 }
eg3:遍历对象的顺序数组
var obj={ "49":"A", "a":"tt", "5":false, "1":"ss", } for(let index in obj){ console.log(index);//1 5 49 a console.log(obj[index])//ss false A tt }
eg1:遍历数组浏览器
var arr=['a','b','c','d']; for(let key of arr){ console.log(key);// a b c d console.log(arr[key]); //undefined undefined undefined undefined }
eg2:遍历对象数据结构
var obj={ "49":"A", "a":"tt", "5":false, "1":"ss", } for(let key of obj){//报错 console.log(index); }
eg3:for of与Object.keys()遍历对象函数
var obj={ name:"Jin", age:11, } for(let value of Object.keys(obj)){ console.log(value);//name age console.log(obj[value]);//Jin 11 }
eg4:for of与Object.keys()遍历数组索引prototype
var arr=['a','b','c']; for(let value of Object.keys(arr)){ console.log(value);//0 1 2 console.log(arr[value]);// a b c }
eg4:for of与Object.entries()遍历索引和值指针
var arr=['a','b','c']; for(let [index,value] of Object.entries(arr)){ console.log(index);//0 1 2 console.log(value);//a b c console.log(arr[index]);//a b c }
eg5:for of与Object.values()遍历属性值code
var arr=['a','b','c']; for(let [index,value] of Object.values(arr)){ console.log(index);//a b c console.log(value);//undefined undefined undefined console.log(arr[index]);//undefined undefined undefined }
for...of的要点:对象
一是为各类数据结构,提供访问接口;二是使得数据结构的成员可以按某种次序排列;三是 ES6 创造了一种新的遍历命令for...of循环,当使用for...of循环遍历某种数据结构时,该循环会自动去寻找 Iterator 接口。