導(dǎo)讀
- array.forEach()
- map()
- array.filter()
- array.every()
- array.find()
- array.findIndex()
- array.filter()
array.forEach()
- array:數(shù)組
- for:為了……
- Each:每一個(gè)
定義 - 官網(wǎng):按順序?yàn)閿?shù)組中的每個(gè)元素調(diào)用一次函數(shù)朱沃。
- 理解:指定函數(shù)遍歷數(shù)組苞轿。意思就是為數(shù)組中的每一個(gè)元素執(zhí)行一次函數(shù)茅诱。
語(yǔ)法
array.forEach(function(currentValue.index.arr),thisValue)
- function:第一個(gè)參數(shù)是一個(gè)函數(shù)
- 當(dāng)執(zhí)行forEach()方法的時(shí)候,每個(gè)數(shù)組元素都會(huì)調(diào)用一次函數(shù)參數(shù)搬卒。
- 在調(diào)用函數(shù)的時(shí)候瑟俭,可以傳入以下三個(gè)參數(shù):
- item:表示數(shù)組中的一個(gè)元素。(必須)
- index:表示數(shù)組中的索引(可選)
- Array:表示當(dāng)前數(shù)組(可選)
- thisValue:第二個(gè)人參數(shù)是設(shè)置this指向秀睛。(可選)
返回值
- undefined
示例
每個(gè)加3
var arr = [1, 2, 3];
arr.forEach(function (item, index) {
arr[index] = item + 3;
});
console.log(arr); //返回值456
求平均值
let sum = 0;
const arr = [1, 2, 3];
arr.forEach(function (item) {
sum += item;
});
console.log(sum); //返回值6
map()
定義
- 數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值
- 按照原始數(shù)組元素順序依次處理元素
語(yǔ)法
array.map(function(currentValue,index,arr),thisValue)
- 參數(shù):
currentValue 必須尔当。當(dāng)前元素的值
index 可選。當(dāng)前元素的索引值
arr 可選蹂安。當(dāng)前元素屬于的數(shù)組對(duì)象
返回值
一個(gè)新數(shù)組
示例
var arr = [1,2,3];
let arrNew = []
arrNew = arr.map(function(item,index){
return item + 3
});
console.log(arrNew) //[ 4, 5, 6 ]
array.filter()
定義
- 創(chuàng)建數(shù)組椭迎,填充了所有通過(guò)測(cè)試的數(shù)組元素(作為函數(shù)提供)
語(yǔ)法 - array.filter(function(currentValue, index, arr), thisValue)
返回值 - 包含所有通過(guò)測(cè)試的數(shù)組元素的數(shù)組。如果沒(méi)有元素通過(guò)測(cè)試田盈,則返回一個(gè)空數(shù)組畜号。
示例
var arr = [10, 20, 30, 40, 50];
var arr1 = [];
arr1 = arr.filter(function (item) {
return item > 30;
});
console.log(arr1); //[40,50]
array.every()
定義
- 方法用于檢測(cè)數(shù)組所有元素是否都符合指定條件(通過(guò)函數(shù)提供)
語(yǔ)法
array.every(function(currentValue,index,arr), thisValue)
- 參數(shù):
- currentValue 必須。當(dāng)前元素的值
- index 可選允瞧。當(dāng)前元素的值
- arr 可選简软。當(dāng)前元素屬于數(shù)組的對(duì)象
返回值
- 布爾值。如果所有元素都通過(guò)檢測(cè)返回 true述暂,否則返回 false痹升。
示例
var arr = [1,2,3]
var arr1 = arr.every(function)(item,index,arr{
return item > 1
})
//返回值flase
array.find()
定義
-
find()
方法返回?cái)?shù)組中第一個(gè)通過(guò)測(cè)試元素的值(作為函數(shù)提供)
語(yǔ)法
array.find(function(currentValue, index, arr), thisValue)
- 參數(shù):
- currentValue 必選。當(dāng)前元素的值
- index 可選畦韭。當(dāng)前元素的數(shù)組索引
- arr 可選疼蛾。當(dāng)前元素所屬的數(shù)組對(duì)象
返回值
- 數(shù)組中元素通過(guò)測(cè)試,則返回?cái)?shù)組元素值艺配,否則返回undefined察郁。
示例
var arr = [1,2,3]
var arr1 = arr.find(function(item,index,arr){
return item === 1
})
//返回值是1
array.findIndex()
定義
-
findIndex()
返回?cái)?shù)組中通過(guò)測(cè)試的第一個(gè)元素的索引(作為函數(shù)提供)
語(yǔ)法
array.findIndex(function(currentValue, index, arr), thisValue)
- 參數(shù):
- currentValue 必需。當(dāng)前元素的值转唉。
- index 可選皮钠。當(dāng)前元素的數(shù)組索引。
- arr 可選赠法。當(dāng)前元素所屬的數(shù)組對(duì)象麦轰。
返回值
- 返回符合測(cè)試條件的第一個(gè)數(shù)組元素索引,如果沒(méi)有符合條件的則返回-1
示例
var arr = [20, 30, 40, 50, 60, 70];
var arr1 = arr.findIndex(function (item) {
return item == 50;
});
console.log(arr1);
// 返回值:3
如何沒(méi)有檢測(cè)到則返回-1
array.filter()
定義
-
filter
方法創(chuàng)建一個(gè)新的數(shù)組砖织,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素原朝。
語(yǔ)法
array.filter(function(currentValue,index,arr), thisValue)
- 參數(shù):
- currentValue 必須。當(dāng)前元素的值
- index 可選镶苞。當(dāng)前元素的索引值
- arr 可選喳坠。當(dāng)前元素屬于的數(shù)組對(duì)象
返回值
- 返回?cái)?shù)組,包含符合條件的所有元素茂蚓。如果沒(méi)有符合條件的元素則返回空數(shù)組壕鹉。
示例
var arr = [1,2,3]
var arr1 = arr.filter(function(item,index,arr){
retuen.item > 1
//返回值:[2,3]
})