JavaScript基礎學習-斷言函式
阿新 • • 發佈:2022-04-07
斷言函式
斷言函式接收3 個引數:元素、索引和陣列本身。
元素:陣列中當前搜尋的元素
索引:當前元素的索引
陣列:正在搜尋的陣列
常用斷言函式
jian
- find():返回第一個匹配的元素
- findIndex():返回第一個匹配元素的索引
迭代函式 - every():對陣列每一項都執行傳入的函式,如果對每一項函式都返回true,則這個方法返回true。
- some():對陣列每一項都執行傳入的函式,如果有一項函式返回true,則這個方法返回true。
- filter():對陣列每一項都執行傳入的函式,函式返回true 的項會組成陣列之後返回。
- forEach():對陣列每一項都執行傳入的函式,沒有返回值。
- map():對陣列每一項都執行傳入的函式,返回由每次函式呼叫的結果構成的陣列。
歸併函式
函式接收4 個引數:上一個歸併值、當前項、當前項的索引、陣列本身
返回的任何值都會作為下一次呼叫同一個函式的第一個引數 - reduce():從陣列第一項開始遍歷到最後一項
- reduceRight():從最後一項開始遍歷至第一項
alert(people.find((element, index, array) => element.age < 28)); // {name: "Matt", age: 27} alert(people.findIndex((element, index, array) => element.age < 28)); // 0 let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; let everyResult = numbers.every((item, index, array) => item > 2); alert(everyResult); // false 需要每個元素都>2才能返回true let someResult = numbers.some((item, index, array) => item > 2); alert(someResult); // true 有一個元素>2就返回true let filterResult = numbers.filter((item, index, array) => item > 2); alert(filterResult); // 3,4,5,4,3 篩選>2的元素 let mapResult = numbers.map((item, index, array) => item * 2); alert(mapResult); // 2,4,6,8,10,8,6,4,2 返回一個新陣列(陣列中每個元素都進行了函式操作) //forEach方法相當於for迴圈遍歷陣列 let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; numbers.forEach((item, index, array) => { // 執行某些操作 numbers[index] = item * 2; }); alert(numbers); // 2,4,6,8,10,8,6,4,2 /* 使用reduce()函式執行累加陣列中所有數值的操作 第一次執行歸併函式時,prev 是1,cur 是2。第二次執行時,prev 是3(1 + 2),cur 是3(數 組第三項)。如此遞進,直到把所有項都遍歷一次,最後返回歸併結果 */ let values = [1, 2, 3, 4, 5]; let sum = values.reduce((prev, cur, index, array) => prev + cur); alert(sum); // 15