for, for in, for of, map, forEach 循環的區別:


for, for in,  for of, map, forEach 循環的區別:

for  遍歷數組:

 

1 //對象遍歷數組
2 var  arr = [
3         {Monday: '星期一', Tuesday: '星期二', Wednesday: '星期三'}
4     ]
5 for (var i=0; i<arr.length;i++){ // i是下標(索引)
6     console.log(i)
7     console.log(arr[i])
8 }

結果:

 

//數組
var arr = ["星期一","星期二","星期三"]
for (var j=0; j<arr.length;j++){  // j是下標(索引)
	console.log(j)
	console.log(arr[j])
}

 

結果:

 

 

 forEach:遍歷數組,但不能使用break、continue和return語句:

//對象數組
var arr = [
{guangzhou: '廣州', shanghai: '上海', beijing: '北京'},
{Monday: '星期一', Tuesday: '星期二', Wednesday: '星期三'}
]
arr.forEach(function(value,index){ //第一個參數是值,第二個參數是下標(索引)
console.log(value)
console.log(index)
})

 

  

結果:

 

 

 

//數組
var arr = ["星期一","星期二","星期三"];
arr.forEach(function(value,index){//第一個參數是值,第二個參數是下標(索引)
		console.log(value)
		console.log(index)
})

結果:

 

 

 for…in:遍歷數組索引、對象的屬性
使用for…in遍歷時,原型鏈上的所有屬性都將被訪問:

//數組
var arr = ["星期一","星期二","星期三"];
Array.prototype.something = ["放假","休息咯"];
for (var i in arr){ // i是下標(索引)
	console.log(arr[i])
}

  

結果:

 

//對象
var obj = {guangzhou: '廣州', shanghai: '上海', beijing: '北京'}
Object.prototype.something2={shenzhen:'深圳'}
for (var i in obj){ 
	console.log(obj[i])
}

  

 結果:

 

 

map 遍歷數組:

  var arr = ['星期一', '星期二', '星期三'];
      var a = arr.map(function(item){
        console.log(item)
        return item  === '星期二'
    })
    console.log(a)

  

 結果:

 

 

map 注意:

map 有返回值。並且可以返回一個結果數組。但是map 遍歷對象的話也會報錯,所以map只能循環數組或者對象數組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM