1.复习的函数

  函数是由关键字function声明的,他是一个引用数据类型,是Function的实例,在调用的时候会开辟一个私有空间

  2.函数的成员

  

  arguments:null  (是实参构成的数组集合)

  caller:null(是这个函数的调用者,函数在A个函数内调用,那么A就是这个函数的调用者,在window下caller是null)

  案例:

    function fn(){

      console.log(fn.caller)

    }

    function f(){

      fn(23,56)

    }

    f()         (解析:fn在f函数内调用,那么f就是fn的调用者)

  length:形参的个数;

  name:是函数名,只跟定义有关,不能修改

  arguments 函数的实参构成的数组集合 他下面的参数有

  callee:是当前函数本身;

  length:实参的个数;

  用递归写一个1-10的求和;

  var sum=0;

  function add(m){

    sum=sum+m

    if(m<1){

      return sum

    }

    else{

      return add(m-1)

    }

  var as=add(10)

  arguments.callee,也可以代替递归(因为他指向当前函数本身)

  3.函数作为参数;

    1.匿名函数传参

    2.命名函数传参,只传命名函数的函数名,不带(),否则传的是return 返回值;

  4.数组的方法

  sort(function(a,b){

    return a-b

    })        仅仅是对数字的从小到大排序;

  还有一种全能的方法,可以对任何东西排序;

  function getsort(a,b){

    if(a>b){

      return 1

    }

    else if(a==b){

      return 0;

    }

    else{

      return  -1

    }

  这是从小到大排序,如果从大到小排序 1和-1;换下位置;

  跟数据类型一些方法:

  1.检测数据类型 typeof 这是一个检测的方法;

  2.instanceof 这是一个判断的方法,返回值true和false;

  3.Object.prototype.toString()  返回的是以字符串"[object Object]"   第一个参数:是对象数据类型 ;第二个参数:具体是那种数据类型;这种写法得不到具体的第二个参数;

  所以需要在后面加.call()    Object.prototype.toString.call()   这种写法是完美的;

  es6新增数组的方法;

  之前的方法:1.concat()  2.push()  3.sort()  4.toString()  5.splice()  6.unshift()  7.reverse()  8.pop()  9.join()  10.shift()  11.indexOf()  12.slice()

  es6新增的方法:

  以 var arr=[12,65,47,13,10,13]为例;

  1.every()  用于检测数组中每个元素是否都满足某个条件,返回值是true和false;

  案例:

    var as=arr.every(function(value){
      return value>=18
    })
      console.log(as)

  2.filter()  用于检测数组中某个元素是否都满足某个条件,返回满足条件所有元素构成的新数组;

  案例:    

    var as=arr.filter(function(value){
      return value>12
     })

    console.log(as)

  3.find()  用于检测数组中第一个满足条件的元素,并返回;

  案例:

    var a=arr.find(function(va){
      return va>18
    })
    console.log(a)  

  4.forEach()  用于对数组进行遍历;

  案例:

    arr.forEach(function(value){
      console.log(value)
     })

  5.Map()  用于对数组进行遍历,将每个元素都传入到回调函数中加工,并返回新的结果,最后得到的是元素加工后组成的新数组;

  案例:

    var as=arr.map(function(va){
      return va+10;
     })
     console.log(as)

  由于这是es6新的方法,所以有的编辑器会报错,可以不用管他,最新的浏览器已经可以识别这个方法了    

es6数组的方法的更多相关文章

  1. JavaScript ES6 数组新方法 学习随笔

    JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...

  2. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

  3. ES6数组去重方法

    Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员),操作方法有:add(value).delete(value).has(value).clear():遍历方法有:keys ...

  4. ES6 数组的方法

     数组的类 数组的类是Array 数组的定义 var arr=[元素] var arr=new Array(3) 数字3,代表有三个元素或者三个空位 如果数组定义采用 new 实例,类中跟的是一个数字 ...

  5. es6 数组扩展方法

    1.扩展运算符 含义: 扩展运算符,三个点(...),将一个数组转为用逗号分隔的参数顺序. 例如: console.log([1,2,3]); console.log(...[1,2,3]);   结 ...

  6. es6数组新方法

    (1)Array.from(aarr,fn,obj) function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) v ...

  7. es6 数组新增方法

    1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = {      "0":"TangSir&quo ...

  8. ES6数组新增方法总结

    关于数组中forEach() .map().filter().reduce().some().every()的总结 let arr = [1, 2, 3, 4, 5] // forEach遍历数组 a ...

  9. ES6 数组去重 方法用了filter或者 indexOf Array.from

随机推荐

  1. mac 终端光标在单词之间移动

    https://ruby-china.org/topics/1241#reply16 you can use :  option + b / f not  ctrl  + <- / ->

  2. Optimizing Docker Images for Rust Projects

    转自:http://whitfin.io/speeding-up-rust-docker-builds/ This post will be the first of several addressi ...

  3. Power consumption comparison

    Here is my draft evaluation when old MCU replacement for power consumption, the comparsion betwween ...

  4. 深入详解美团点评CAT跨语言服务监控(三)CAT客户端原理

    cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类: io目录包含建立服务端连接.重连.消息队列监听.上报等io实现类: spi目 ...

  5. nginx 镜像使用说明

    nginx 镜像说明 目录 说明 /etc/nginx nginx安装目录 /usr/share/nginx/html nginx网站资源存放的目录 运行nginx容器,相关命令: 命令 说明 doc ...

  6. React V16.x 生命周期调整

    旧声明周期: table th:nth-of-type(5) { width: 400px; } 生命周期 属于阶段 调用次数 是否可以setState 作用 getDefaultProps 创建阶段 ...

  7. 使用 RSA 非对称加密保证数据不被篡改 java 例子代码

    原理: 对原始数据 生成有序的json 字符串,然后取 摘要,然后 对摘要 进项 分对称加密.( 不对原数据加密是应为 原数据太大,加解密速度太慢,非对称加密都不 挺慢的.在摘要函数具有雪崩效应 ,原 ...

  8. KNN手写实践:Python基于数据集整体计算以及排序

    1. 距离计算,不要通过遍历每个样本来计算和指定样本距离,而是通过对于指定样本进行广播(复制)成为一个shape和全局一致后,再进行整体计算,这里的广播 / 复制采用的是tile函数来实现的: 2. ...

  9. Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费

    由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...

  10. 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)

    在项目中,随着时间的推移,数据量越来越大,程序的某些功能性能也可能会随之下降,那么此时我们不得不需要对之前的功能进行性能优化.如果优化方案不得当,或者说不优雅,那可能将对整个系统产生不可逆的严重影响. ...