常用的陣列元素的迭代方法。
1. foreach()方法
foreach()方法的功能是迴圈遍歷陣列中的每乙個元素;
foreach()方法會接收乙個函式;
這個函式包含三個形參,分別為:item, index, array, 用不到時可以不寫
item 表示每次迭代的元素
index 表示每次迭代元素的下標
array 表示原陣列
var arr = [20,13,11,8,0,11];
var min = arr[0]; //假設陣列的第乙個元素的為最小值
arr.foreach(function(item,index,array)
//練習三:求陣列的最小值
if(item2. map()方法
返回乙個新陣列,新陣列是原陣列的對映;
不改變原陣列的值;
新陣列的元素值是每次函式return的返回值;
若不寫return,接收的新陣列的元素值將全為空;
var arr = [20,13,11,8,0,11];
var brr = arr.map(function(item))
3. filter()方法
過濾元素,返回乙個新陣列;
新的陣列由每次函式返回值為true對應的元素組成;
原陣列不受影響;
var arr = [20,13,11,8,0,11];
var brr =arr.filter(function(item))
4. some()方法
return返回的值只要有一項為true,最終的返回值就為true,不會繼續遍歷後邊的元素;
若沒有一項滿足返回值為true的,就返回false;
原陣列不受影響;
var arr = [20,13,11,8,0,11];
var brr = arr.some(function(item))
alert(brr); //true
5. every()方法
對陣列的每一項執行給定的函式,假如該函式每一項都返回true,最後結果才為true;
只要有一項返回值為false,最後結果就是false。且後邊的元素都不會再繼續執行函式;
原陣列不受影響;
var arr = [20,13,11,8,0,11];
var brr = arr.every(function(item))
alert(brr); //false
6.reduce()方法
收斂,返回值是最後一次函式呼叫的返回值;
不寫return時,預設返回undefined;
執行機制:
一開始,prev代表陣列第乙個元素,next指向陣列第二個元素 ;
函式有個返回值,會作為下次的prev值;
當給方法第二個引數值時,prev從傳的第二個引數值開始,next從第乙個元素值開始
var arr = [1,4,5,7,8,10];
var res = arr.reduce(function(prev,next))
console.log(res);
/*分析:
一開始,prev代表陣列第乙個元素,next指向陣列第二個元素 1---4
函式有個返回值,會作為下次的prev值
4---5
4---7
4---8
4---10
*/
//應用:求陣列所有元素的和
var arr = [1,4,5,7,8,10];
var res = arr.reduce(function(prev,next))
console.log(res);
/*分析:
一開始,prev代表陣列第乙個元素,next指向陣列第二個元素 1---4
函式有個返回值,會作為下次的prev值
5---5 返回10
10---7 返回17
17---8 返回25
25---10 返回35
*/
//reduce()還可以有第二個引數
var arr = [1,4,5,7,8,10];
var res = arr.reduce(function(prev,next),100) //prev從傳的第二個引數值100開始,next從第乙個元素值開始
console.log(res);
//reduce()應用:將兩個陣列合併成乙個物件
var arr3 = ["lydia","21"];
var arr4 = ["name","age"];
arr4.reduce(function(prev,next,item),{}); //傳的第二個引數值是乙個空物件
console.log(obj);
/*第一次的prev是乙個空物件,物件的next屬性(即arr4的第乙個元素)的值為arr3的第乙個元素值
*/
7. indexof()方法
判斷乙個元素是否存在於陣列中,若不存在返回-1,若存在就返回它第一次出現的位置。
var arr = [20,13,11,8,0,11];
arr.indexof(11); //返回第乙個11的索引:2
arr.indexof(2); //返回-1
ES5 陣列方法
foreach 方法從頭至尾遍歷陣列,為每個元素呼叫指定的函式。三個引數 陣列元素 元素的索引和陣列本身。var data 1,2,3,4,5 var sum 0 data.foreach function val sum 15 data.foreach function v,i,a data 2,...
ES5陣列方法
push 從陣列最後一位新增 pop 從陣列最後一位刪除 shift 從陣列第一位刪除 unshift 從陣列第一位新增 reverse 陣列逆轉 splice 從第幾位開始,擷取長度,在切口處新增新的資料 sort 陣列排序 arr.sort function a,b 正序 return b a ...
es5 陣列方法
es5 陣列方法的擴充套件 陣列物件.foreach function item,index 陣列物件.map function item,index 返回乙個加工後的新陣列 陣列物件.filter function item,index 按指定要求過濾,返回結果為true的子陣列 示例 main ...