JS高阶函数

1.元素的筛选–filter

var arr = [1,2,3,4,5,6,7,8,9];
        // 输出偶数列的数组
         var sum = arr.filter(function (a) {
             return a % 2 == 0;
         });
console.log(sum); // [2,4,6,8]

2.trim() - 去掉字符串的头尾空格

var arr1 = ['小明','',88,'小华','','马化腾'];
         var sum1 = arr1.filter(function (b) {
             return b && b.trim;
         });
         console.log(sum1);   // [ "小明","小华","马化腾"]

3.回调函数

将函数当做参数传递给另外一个函数,当那个函数指向完之后,才会执行传递过来的函数,这个过程就叫做回调。filter(),接收回调函数时,参数的传递有多个参数,通常使用第一个,表示Array中的某个元素还可以接收另外两个参数,通常表示元素的位置和元素本身。

var arr = ['马化腾','马云','小明'];
var sum = arr.filter(function (element,index,self) {
            console.log(element);
            console.log(index);
            console.log(self);
            return true;
         });
         console.log(sum);

在这里插入图片描述
在这里插入图片描述

4.去除arr中的重复元素

var arr = ['java','javaScript','Python','java','Python'];
        var sum = arr.filter(function (element, index, self) {
             return self.indexOf(element) === index;
        });
        console.log(sum);

在这里插入图片描述

5.针对于Array中的函数

  1. every - 可以判断数组中的所有元素是狗满足你设定的条件
var arr= [2,4,6,8,10];
        var b = arr.every(function (x) {
            return x % 2 ==0;
        });
        console.log(b);  //true
  1. find() – 用于查找符合设定条件的第一个元素,并返回,如果找不到,就返回undefined;toLowerCase - 用于吧字符串转换成小写
var arr1 = ['张三',89,'java'];
        var find = arr1.findIndex(function (a) {
            return a.toLowerCase() === a;
        });
        console.log(find);
  1. forEach - 相当于Java中的遍历, 会把每一个元素依次传入写入的函数;不会返回一个新的数组
var arr = ['java','javaScript','Python','java','Python'];
        arr.forEach(console.log);
        var arr1 = [1,2,3,4,5,6,7,8];
        arr1.forEach(console.log);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.排序算法-sort

var arr =['Java','Script','Python'];
        var sort = arr.sort();
        console.log(sort);

        var arr1 = [30,20,3,2];
        var sort1 = arr1.sort();
        console.log(sort1);

        //引用函数进行排序
        var arr = [30,3,20,2];
        var sort = arr.sort(function (x, y) {
            if(x<y){
                return 1;
            }
            if (x>y){
                return -1;
            }
            return 0;
        });
        console.log(sort);

在这里插入图片描述
sort(),排序过后,返回的结果仍然是当前的array.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没关系的朋友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值