断言函数

断言函数接收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
posted on 2022-04-07 14:57  飞飞乐园  阅读(381)  评论(0编辑  收藏  举报