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轉(zhuǎn)換成Array
var arr2=Array.from(set);
console.log(arr2);
普通for循環(huán)
只能遍歷數(shù)組和字符串
console.log("普通for循環(huán)遍歷字符串");
for (var i = 0; i < str.length; i++) {
console.log(str[i]+'=='+str.charAt(i)+'=='+str.charCodeAt(i));
}
- 普通for循環(huán)遍歷對(duì)象 不能使用
console.log("普通for循環(huán)遍歷對(duì)象 不能使用");
console.log("普通for循環(huán)遍歷數(shù)組");
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
- 普通for循環(huán)遍歷Set 可以遍歷,但是沒(méi)有意義,獲取不到每個(gè)值
- 普通for循環(huán)遍歷Map 可以遍歷,但是沒(méi)有意義,獲取不到每個(gè)值
for..in..循環(huán)
可以遍歷字符串、對(duì)象、數(shù)組
for(var prop in str){
console.log(str[i]+"=="+str.charAt(i));
}
- for..in..循環(huán)遍歷對(duì)象
for (var prop in obj) {
console.log(obj[prop]);
}
- for..in..循環(huán)遍歷數(shù)組
for (var i in arr) {
console.log(arr[i]);
}
- for in循環(huán)遍歷Set 不能遍歷
- for in循環(huán)遍歷Map 不能遍歷
for..of..循環(huán)
不能遍歷對(duì)象,需要實(shí)現(xiàn)Symbol.interator接口
for (var chr of str) {
console.log(chr);
}
- for..of..循環(huán)遍歷對(duì)象 不能遍歷,需要實(shí)現(xiàn)Symbol.interator接口
- for..of..循環(huán)遍歷數(shù)組
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()循環(huán)
forEach循環(huán)不能遍歷字符串、對(duì)象
- forEach遍歷字符串:不能使用
- forEach遍歷對(duì)象:不能使用
- forEach遍歷數(shù)組
arr.forEach(function(ele,index,arr){
console.log(ele+'=='+index);
console.log(arr[index]);
});
// 前兩個(gè)參數(shù)就是set的每一個(gè)元素
set.forEach(function(ele,ele2){
console.log(ele+"=="+ele2);
});
map.forEach(function(key,value){
console.log(key+"=="+value);
})