本文目錄: 字體標簽 我是字體標簽 <font> 我是字體標簽 </font> 效果: 我是紅色 <font color="red"> 我是紅色 </font> 效果: 我是楷體 <font face="楷體"> 我是楷體 </font> 效果: 我是4號字體 <font size="4"> 我是4 ...
一, 遍歷器的定義
取出數據容器中的每一個元素的工具
二, 遍歷器的分類
1.for 遍曆數組(最重要,相容性好)
例:
2.for in遍歷對象
例:遍曆數組
例:遍歷對象
3.while遍歷
例:
4.forEach():
數組遍歷的forEach方法
例:
//第一個參數必須有,第二三個參數可以沒有
//但是要傳了index後面才能訪問出來index
//12 0 [12, 45, 25]
//45 1 [12, 45, 25]
//25 2 [12, 45, 25]
//undefined----->forEach方法返回值
設計自己的forEach方法
5. map():
//數組遍歷的map方法
例
//與forEach相似,都為三個參數,但是不同之處就在return一個數組
//map和forEach方法只能用來遍曆數組,不能用來遍歷對象
例: // 需求:
//列印[{name:"jack",birth:"2002-02-03",age:20},{name:"jack",birth:"2003-02-03",age:19}]
6.filter():
//數組遍歷的filter方法
// 過濾數組中的元素,會返回通過過濾的元素(是否為真,從而返回值),不改變原數組
例:
7.some()
// 數組遍歷的some方法
設計源代碼mySome
Array.prototype.mysome=function(callback){
for( var i=0;i<this.length;i++){
if(callback(this[i],i,this)){return true}//返回true就跳出迴圈
}
return false
}
var arr=[54,45,25]
var re=arr.mysome(function(el){
console.log(el)
return el>54}}
console.log(re) //結果返回最後的結果
8.every()方法
//數組中只要有一個不符合就返回false
//全部符合返回true
//對空數組不進行檢查
//不會改變原來的數組
9.數組對象的屬性累加舉例
(1)for
(2)reduce()
//第一次調用是前兩個值,第二次調用參數為第一次的返回值和第三個值
var arr = [{
title: "番茄雞蛋",
price: 18,
count: 2
},
{
title: "米飯",
price: 1,
count: 5
},
{
title: "麻辣魚",
price: 28,
count: 1
},
{
title: "火鍋",
price: 50,
count: 1
}
]
var re1=arr.reduce(function(n1,n2){
// console.log(n1,n2)
return n1+n2.price*n2.count
},0)
console.log(re1,1111) //119 1111
var re2=arr.reduce(function(n1,n2){
if(!n1.total){
n1.total=n1.price*n1.count+n2.price*n2.count
}
else{
n1.total=n1.total+n2.price*n2.count
}
return n1
})
console.log(re2,2222) //{title: '番茄雞蛋', price: 18, count: 2, total: 119} 2222
(3)eval()方法
10.reduceRight()
var arr=[12,45,25]
arr.reduceRight(function(n1,n2){
console.log(n1,n2) //從後往前累加
},0) //reduceRight的第二個參數為相加的初始值,可填可不填
11.for of (es6中的新出的功能)
//可以遍曆數組中的每一項
//可以遍曆數組中對象的每一項屬性,輸出屬性值
與for in 的區別
//for of 無法遍歷對象
結果:
//for of遍歷輸出屬性值(數組值),for in 遍歷輸出下標(索引)
//for in 會遍歷自定義屬性,for of 不會(即遍曆數組中的數組)