es6数组的方法
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数组的方法的更多相关文章
- JavaScript ES6 数组新方法 学习随笔
JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...
- ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...
- ES6数组去重方法
Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员),操作方法有:add(value).delete(value).has(value).clear():遍历方法有:keys ...
- ES6 数组的方法
数组的类 数组的类是Array 数组的定义 var arr=[元素] var arr=new Array(3) 数字3,代表有三个元素或者三个空位 如果数组定义采用 new 实例,类中跟的是一个数字 ...
- es6 数组扩展方法
1.扩展运算符 含义: 扩展运算符,三个点(...),将一个数组转为用逗号分隔的参数顺序. 例如: console.log([1,2,3]); console.log(...[1,2,3]); 结 ...
- es6数组新方法
(1)Array.from(aarr,fn,obj) function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) v ...
- es6 数组新增方法
1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = { "0":"TangSir&quo ...
- ES6数组新增方法总结
关于数组中forEach() .map().filter().reduce().some().every()的总结 let arr = [1, 2, 3, 4, 5] // forEach遍历数组 a ...
- ES6 数组去重 方法用了filter或者 indexOf Array.from
随机推荐
- mac 终端光标在单词之间移动
https://ruby-china.org/topics/1241#reply16 you can use : option + b / f not ctrl + <- / ->
- Optimizing Docker Images for Rust Projects
转自:http://whitfin.io/speeding-up-rust-docker-builds/ This post will be the first of several addressi ...
- Power consumption comparison
Here is my draft evaluation when old MCU replacement for power consumption, the comparsion betwween ...
- 深入详解美团点评CAT跨语言服务监控(三)CAT客户端原理
cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类: io目录包含建立服务端连接.重连.消息队列监听.上报等io实现类: spi目 ...
- nginx 镜像使用说明
nginx 镜像说明 目录 说明 /etc/nginx nginx安装目录 /usr/share/nginx/html nginx网站资源存放的目录 运行nginx容器,相关命令: 命令 说明 doc ...
- React V16.x 生命周期调整
旧声明周期: table th:nth-of-type(5) { width: 400px; } 生命周期 属于阶段 调用次数 是否可以setState 作用 getDefaultProps 创建阶段 ...
- 使用 RSA 非对称加密保证数据不被篡改 java 例子代码
原理: 对原始数据 生成有序的json 字符串,然后取 摘要,然后 对摘要 进项 分对称加密.( 不对原数据加密是应为 原数据太大,加解密速度太慢,非对称加密都不 挺慢的.在摘要函数具有雪崩效应 ,原 ...
- KNN手写实践:Python基于数据集整体计算以及排序
1. 距离计算,不要通过遍历每个样本来计算和指定样本距离,而是通过对于指定样本进行广播(复制)成为一个shape和全局一致后,再进行整体计算,这里的广播 / 复制采用的是tile函数来实现的: 2. ...
- Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费
由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...
- 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)
在项目中,随着时间的推移,数据量越来越大,程序的某些功能性能也可能会随之下降,那么此时我们不得不需要对之前的功能进行性能优化.如果优化方案不得当,或者说不优雅,那可能将对整个系统产生不可逆的严重影响. ...