array.forEach()
array.map()
array.filter()
array.every()
array.some()
array.find()
array.findIndex()
array.reduce()
講解
array.forEach() - 為每個(gè)數(shù)組元素調(diào)用函數(shù)居凶。
定義:
forEach()
方法按順序?yàn)閿?shù)組中的每個(gè)元素調(diào)用一次函數(shù)。array.forEach()
方法使用指定函數(shù)遍歷數(shù)組粥烁。即逐一傳入數(shù)組元素到函數(shù)體內(nèi),對(duì)函數(shù)體內(nèi)的
語(yǔ)法:
array.forEach(function(currentValue, index, arr), thisValue)
返回值:
- 返回值:undefined
示例:輸出[4,5,6]
const arr = [1, 2, 3];
arr.forEach(function(item,index){
arr[index] = item + 3
});
console.log(arr) // [4,5,6]
</script>
array.map() - 使用為每個(gè)數(shù)組元素調(diào)用函數(shù)的結(jié)果創(chuàng)建新數(shù)組。
定義:
map()
方法使用為每個(gè)數(shù)組元素調(diào)用函數(shù)的結(jié)果創(chuàng)建新數(shù)組美旧。map()
方法按順序?yàn)閿?shù)組中的每個(gè)元素調(diào)用一次提供的函數(shù)怀大。array.map()
方法使用指定函數(shù)遍歷數(shù)組。即逐一對(duì)傳入到函數(shù)體的每個(gè)數(shù)組元素進(jìn)行操作,然后把每一個(gè)數(shù)組元素填充進(jìn)新數(shù)組精肃。(操作由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.map(function(currentValue, index, arr), thisValue)
function: 遍歷數(shù)組的函數(shù)秤涩。必須選擇。
item: 接收數(shù)組元素的形參司抱,必須選擇筐眷。
index: 接收數(shù)組索引的形參,可選可不選习柠,但是填著也好理解一點(diǎn)匀谣。
arr: 接收當(dāng)前數(shù)組的形參,可選可不選资溃,但是填著也好理解一點(diǎn)武翎。
返回值:
- 返回值:數(shù)組,包含為原始數(shù)組中的每個(gè)元素調(diào)用提供的函數(shù)的結(jié)果就是返回操作后的新數(shù)組
示例:輸出[4,5,6]
const arr = [1, 2, 3];
let arrNew = [ ]
arrNew = arr.map(function(item,index){ //map()方法自動(dòng)返回一個(gè)新數(shù)組
return item + 3 // 設(shè)置function函數(shù)的返回值溶锭,返給map()方法
});
console.log(arrNew) // [4,5,6]
array.filter() - 使用數(shù)組中通過(guò)測(cè)試的每個(gè)元素創(chuàng)建新數(shù)組宝恶。
定義:
filter()
方法創(chuàng)建數(shù)組,其中填充了所有通過(guò)測(cè)試的數(shù)組元素(作為函數(shù)提供)趴捅。注釋:
filter()
不會(huì)對(duì)沒(méi)有值的數(shù)組元素執(zhí)行該函數(shù)垫毙。注釋:
filter()
不會(huì)改變?cè)紨?shù)組。array.filter()
方法使用指定函數(shù)遍歷數(shù)組拱绑。即逐一對(duì)傳入到函數(shù)體的每個(gè)數(shù)組元素進(jìn)行條件檢測(cè)综芥,把符合條件的數(shù)組元素填充進(jìn)新數(shù)組,跳過(guò)不符合條件的數(shù)組元素猎拨。(條件由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.filter(function(currentValue, index, arr), thisValue)
array.filter(function(item, index, arr), this)
function: 遍歷數(shù)組的函數(shù)毫痕。必須選擇。
item: 接收數(shù)組元素的形參迟几,必須選擇消请。
index: 接收數(shù)組索引的形參,可選可不選类腮,但是填著也好理解一點(diǎn)臊泰。
arr: 接收當(dāng)前數(shù)組的形參,可選可不選蚜枢,但是填著也好理解一點(diǎn)缸逃。
this: 修改函數(shù)內(nèi)的this指向,默認(rèn)值undefined厂抽,可選需频。
返回值:
- 返回值: 包含所有通過(guò)測(cè)試的數(shù)組元素的數(shù)組。如果沒(méi)有元素通過(guò)測(cè)試筷凤,則返回一個(gè)空數(shù)組昭殉。簡(jiǎn)單一句就是返回符合條件的新數(shù)組
示例:篩選大于3的數(shù)組元素
const arr = [1, 2, 3, 4, 5, 6];
let arrNew = []
arrNew = arr.filter(function (item) { //filter()方法自動(dòng)返回符合條件的數(shù)組元素
return item > 3 // 設(shè)置function函數(shù)的返回值苞七,返給filter()方法
});
console.log(arrNew) // [4,5,6]
array.every() - 檢查數(shù)組中的每個(gè)元素是否通過(guò)測(cè)試。
定義:
every()
方法檢查數(shù)組中的所有元素是否都通過(guò)了測(cè)試(被作為函數(shù)提供)挪丢。every()
方法對(duì)數(shù)組中存在的每個(gè)元素執(zhí)行一次函數(shù):如果找到函數(shù)返回 false 值的數(shù)組元素蹂风,every() 返回 false(并且不檢查剩余值)
如果沒(méi)有出現(xiàn) false,every() 返回 true
注釋:
every()
不對(duì)沒(méi)有值的數(shù)組元素執(zhí)行函數(shù)乾蓬。注釋:
every()
不改變?cè)紨?shù)組惠啄。array.every()
方法使用指定函數(shù)遍歷數(shù)組。即逐一對(duì)傳入到函數(shù)體的每個(gè)數(shù)組元素進(jìn)行條件檢測(cè)任内,符合條件就返回一個(gè)true,不符合條件就返回false撵渡。(條件由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.every(function(currentValue, index, arr), thisValue)
//第二個(gè)
array.every(function(item, index, arr), this)
function: 遍歷數(shù)組的函數(shù)。必須選擇死嗦。
item: 接收數(shù)組元素的形參姥闭,必須選擇。
index: 接收數(shù)組索引的形參越走,可選可不選棚品,但是填著也好理解一點(diǎn)。
arr: 接收當(dāng)前數(shù)組的形參廊敌,可選可不選铜跑,但是填著也好理解一點(diǎn)。
this: 修改函數(shù)內(nèi)的this指向骡澈,默認(rèn)值undefined锅纺,可選。
返回值:
- 布爾值肋殴。如果數(shù)組中的所有元素都通過(guò)測(cè)試囤锉,則返回 true,否則返回 false.
- true: 當(dāng)傳入的數(shù)組元素全部返回true時(shí)护锤,返回true官地。
- false: 當(dāng)傳入的數(shù)組元素有一個(gè)返回false,則返回false烙懦。
示例
var arr = [1,2,3]
var result = arr.every(function(item){
return item > 0
})
console.log(result) // true
array.some() - 檢查數(shù)組中的任何元素是否通過(guò)測(cè)試驱入。
定義:
some() 方法檢查數(shù)組中的任何元素是否通過(guò)測(cè)試(作為函數(shù)提供)。
some() 方法對(duì)數(shù)組中存在的每個(gè)元素執(zhí)行一次函數(shù):
如果找到函數(shù)返回真值的數(shù)組元素氯析,some() 返回真(并且不檢查剩余值)否則返回 false
注釋:some() 對(duì)沒(méi)有值的數(shù)組元素不執(zhí)行函數(shù)亏较。
注釋:some() 不改變?cè)紨?shù)組。
array.some()
方法使用指定函數(shù)遍歷數(shù)組掩缓。即逐一對(duì)傳入到函數(shù)體的數(shù)組元素進(jìn)行條件檢測(cè)雪情,符合條件就返回一個(gè)true并停止檢測(cè),不符合條件就返回false。(條件由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.some(function(currentValue, index, arr), thisValue)//第一種
array.some(function(item, index, arr), this)//第二種
function: 遍歷數(shù)組的函數(shù)你辣。必須選擇巡通。
item: 接收數(shù)組元素的形參尘执,必須選擇。
index: 接收數(shù)組索引的形參扁达,可選可不選,但是填著也好理解一點(diǎn)蠢熄。
arr: 接收當(dāng)前數(shù)組的形參跪解,可選可不選,但是填著也好理解一點(diǎn)签孔。
this: 修改函數(shù)內(nèi)的this指向叉讥,默認(rèn)值undefined,可選饥追。
返回值:
- 布爾值图仓。如果數(shù)組中的任何元素通過(guò)測(cè)試,則返回 true但绕,否則返回 false救崔。
- true: 當(dāng)傳入的數(shù)組元素有一個(gè)返回true時(shí),返回true捏顺。
- false: 當(dāng)傳入的數(shù)組元素全部返回false六孵,則返回false。
示例
var arr = [1,2,3]
var result = arr.some(function(item){
return item > 2
})
console.log(result) // true
array.find() - 返回?cái)?shù)組中第一個(gè)通過(guò)測(cè)試的元素的值幅骄。
定義:
find()
方法返回?cái)?shù)組中第一個(gè)通過(guò)測(cè)試的元素的值(作為函數(shù)提供)劫窒。find()
方法對(duì)數(shù)組中存在的每個(gè)元素執(zhí)行一次函數(shù):如果找到函數(shù)返回 true 值的數(shù)組元素,則 find() 返回該數(shù)組元素的值(并且不檢查剩余值)否則返回 undefined
注釋:
find()
不對(duì)空數(shù)組執(zhí)行該函數(shù)拆座。注釋:
find()
不會(huì)改變?cè)紨?shù)組主巍。array.find()
方法使用指定函數(shù)遍歷數(shù)組。即逐一對(duì)傳入到函數(shù)體的數(shù)組元素進(jìn)行條件查找挪凑,找到符合條件的數(shù)組元素則返回true,然后返回該元素孕索。(條件由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.find(function(currentValue, index, arr), thisValue)//第一種
array.find(function(item, index, arr), this)//第二種
function: 遍歷數(shù)組的函數(shù)。必須選擇躏碳。
item: 接收數(shù)組元素的形參檬果,必須選擇。
index: 接收數(shù)組索引的形參唐断,可選可不選选脊,但是填著也好理解一點(diǎn)。
arr: 接收當(dāng)前數(shù)組的形參脸甘,可選可不選恳啥,但是填著也好理解一點(diǎn)。
this: 修改函數(shù)內(nèi)的this指向丹诀,默認(rèn)值undefined钝的,可選翁垂。
返回值:
- 如果數(shù)組中的任何元素通過(guò)測(cè)試,則返回?cái)?shù)組元素值硝桩,否則返回 undefined沿猜。
- 就是返回找到的元素。沒(méi)返回 undefined碗脊。
示例
var arr = [1,2,3]
var result = arr.find(function(item){
return item == 2
})
console.log(result) // 2
array.findIndex() - 返回?cái)?shù)組中通過(guò)測(cè)試的第一個(gè)元素的索引啼肩。
定義:
findIndex() 方法返回?cái)?shù)組中通過(guò)測(cè)試的第一個(gè)元素的索引(作為函數(shù)提供)。
findIndex() 方法對(duì)數(shù)組中存在的每個(gè)元素執(zhí)行一次函數(shù):
如果找到函數(shù)返回 true 值的數(shù)組元素衙伶,則 findIndex() 返回該數(shù)組元素的索引(并且不檢查剩余值)否則返回 -1
注釋:findIndex() 不會(huì)為沒(méi)有值的數(shù)組元素執(zhí)行函數(shù)祈坠。
注釋:findIndex() 不會(huì)改變?cè)紨?shù)組。
array.findIndex()
方法使用指定函數(shù)遍歷數(shù)組矢劲。即逐一對(duì)傳入到函數(shù)體的數(shù)組元素進(jìn)行條件查找赦拘,找到符合條件的數(shù)組元素則返回true,然后返回該元素的索引。(條件由開(kāi)發(fā)者設(shè)計(jì))
語(yǔ)法:
array.findIndex(function(currentValue, index, arr), thisValue)//第一種
array.find(function(item, index, arr), this)//第二種
function: 遍歷數(shù)組的函數(shù)芬沉。必須選擇躺同。
item: 接收數(shù)組元素的形參,必須選擇丸逸。
index: 接收數(shù)組索引的形參笋籽,可選可不選,但是填著也好理解一點(diǎn)椭员。
arr: 接收當(dāng)前數(shù)組的形參车海,可選可不選,但是填著也好理解一點(diǎn)隘击。
this: 修改函數(shù)內(nèi)的this指向侍芝,默認(rèn)值undefined,可選埋同。
返回值:
- 如果數(shù)組中的任何元素通過(guò)測(cè)試州叠,則返回?cái)?shù)組元素索引,否則返回 -1凶赁。
- 返回找到元素的索引咧栗。
示例
var arr = [1,2,3]
var result = arr.findIndex(function(item){
return item == 2
})
console.log(result) // 1
array.reduce() - 反轉(zhuǎn)數(shù)組中元素的順序。
定義:
reverse()
方法反轉(zhuǎn)數(shù)組中元素的順序虱肄。注釋?zhuān)?/strong>reverse() 方法將改變?cè)紨?shù)組致板。
array.findIndex()
方法為數(shù)組的每個(gè)值(從左到右)執(zhí)行提供的函數(shù)。該方法將數(shù)組縮減為單個(gè)值咏窿。
語(yǔ)法:
array.reduce(function(total, item, index, arr), initialValue)
function: 遍歷數(shù)組的函數(shù)斟或。必須。
total: 用于求和的變量集嵌。
item: 接收數(shù)組元素的形參萝挤,必須御毅。
index: 接收數(shù)組索引的形參,可選怜珍。
arr: 接收當(dāng)前數(shù)組的形參端蛆,可選。
initialValue: 初始值酥泛。
返回值:
- 數(shù)組今豆,表示反轉(zhuǎn)后的數(shù)組。
- 返回回調(diào)函數(shù)累積的結(jié)果揭璃。
示例
var arr = [1, 2, 3]
var result = arr.reduce(function (total, item) {
return total += item
}, 0)
console.log(result) // 6
寫(xiě)作者:
- 黃永福??????
定義:
語(yǔ)法:
返回值:
示例