var str='abcde';
var obj={
'name':'xiaoxue',
'age':'18'
};
var arr=['aa','bb','cc','bb'];
var set=new Set(arr);
var map=new Map([['name','xiaoxue'],['age','18'],['sex','w']]);
console.log(set);
// 把Set转换成Array
var arr2=Array.from(set);
console.log(arr2);
普通for循环
只能遍历数组和字符串
console.log("普通for循环遍历字符串");
for (var i = 0; i < str.length; i++) {
console.log(str[i]+'=='+str.charAt(i)+'=='+str.charCodeAt(i));
}
console.log("普通for循环遍历对象 不能使用");
console.log("普通for循环遍历数组");
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
- 普通for循环遍历Set 可以遍历,但是没有意义,获取不到每个值
- 普通for循环遍历Map 可以遍历,但是没有意义,获取不到每个值
for..in..循环
可以遍历字符串、对象、数组
for(var prop in str){
console.log(str[i]+"=="+str.charAt(i));
}
for (var prop in obj) {
console.log(obj[prop]);
}
for (var i in arr) {
console.log(arr[i]);
}
- for in循环遍历Set 不能遍历
- for in循环遍历Map 不能遍历
for..of..循环
不能遍历对象,需要实现Symbol.interator接口
for (var chr of str) {
console.log(chr);
}
- for..of..循环遍历对象 不能遍历,需要实现Symbol.interator接口
- for..of..循环遍历数组
for (var ele of arr) {
console.log(ele);
}
for (var s of set) {
console.log(s);
}
for (var m of map) {
console.log(m);
console.log(m[0]+"="+m[1]);
}
for (var [key,value] of map) {
console.log(key+"="+value);
}
for (var key of map.keys()) {
console.log(key);
}
for (var value of map.values()) {
console.log(value);
}
forEach()循环
forEach循环不能遍历字符串、对象
- forEach遍历字符串:不能使用
- forEach遍历对象:不能使用
- forEach遍历数组
arr.forEach(function(ele,index,arr){
console.log(ele+'=='+index);
console.log(arr[index]);
});
// 前两个参数就是set的每一个元素
set.forEach(function(ele,ele2){
console.log(ele+"=="+ele2);
});
map.forEach(function(key,value){
console.log(key+"=="+value);
})