js数组方法大全(下)
js数组方法大全(下)
记录一下整理的js数组方法,免得每次要找方法都找不到。图片有点多,注意流量,嘻嘻!
本期分享
- forEach()
- map()
- filer()
- every()
- some()
- reduce()
- reduceRight()
- indexOf()
- lastIndex()
上期分享
- join()
- reverse()
- sort()
- concat()
- slice()
- splice()
- push()
- pop()
- unshift()
- shift()
- toString()
- toLocaleString()
forEach() --->遍历
- 使用热度:经常用
- 是否改变原始数组:否
- 返回:无
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|
| 1 | function | 是 | 三个参数分别是:数组元素、元素的索引、数组本身 |
- 说明:该方法无法提前终止运行,如果要提前终止运行,只能使用try块中,然后抛出一个异常。
- 小技巧:如果数组是个数组对象形式可以直接操作数组元素改变原始数组本身,因为对象是个引用数据类型嘛!
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var sum =0;
data.forEach(value=>{
sum+=value;
})
log(sum);
data.forEach((v,i,a)=>{
a[i]=v+1;
})
log(data);
var data_post=[{a:1},{a:2}]
data_post.forEach(value=>{
value.a++;
})
log(data_post)

map() --->映射
- 使用热度:经常用
- 是否改变原始数组:否
- 返回:返回一个新函数
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|
| 1 | function | 是 | 三个参数分别是:数组元素、元素的索引、数组本身 |
- 说明:传递给map函数应该有返回值,返回值是新数组的元素。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b= data.map(x=>{
return x*x;
})
log(b)

filter() --->过滤
- 使用热度:常用
- 是否改变原始数组:否
- 返回:返回过滤后的数组
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|
| 1 | function | 是 | 三个参数分别是:数组元素、元素的索引、数组本身 |
- 说明:如果返回值是true或者可以转化为true的值,那么这个值就是新数组的元素。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b= data.filter(x=>{
return x<3;
})
log(b)

every() --->检测
- 使用热度:不常用
- 是否改变原始数组:否
- 返回:true或者false
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|
| 1 | function | 是 | 三个参数分别是:数组元素、元素的索引、数组本身 |
- 说明:当且仅当针对数组中的所有元素调用绑定函数都返回true时,它才返回true。
- 注意:一旦every或者some已经确定了改返回什么值得时候就不会遍历数组了。根据数学上的惯例,在空数组调用时,every返回true,some返回false。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b= data.every(x=>{
return x<10;
})
log(b)
var c= data.every(x=>{
return x%2===0;
})
log(c)

some() --->检测
- 使用热度:不常用
- 是否改变原始数组:否
- 返回:true或者false
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|
| 1 | function | 是 | 三个参数分别是:数组元素、元素的索引、数组本身 |
- 说明:当数组中至少有一个元素调用绑定函数返回true时,它就返回true。
- 注意:一旦every或者some已经确定了改返回什么值得时候就不会遍历数组了。根据数学上的惯例,在空数组调用时,every返回true,some返回false。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b= data.some(x=>{
return x>10;
})
log(b)
var c= data.some(x=>{
return x%2===0;
})
log(c)

reduce() --->简化
- 使用热度:不常用
- 是否改变原始数组:否
- 返回:返回一个值
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 作用 |
|---|---|---|---|
| 1 | function | 是 | 四个参数分别是:初始化值/数组元素、数组元素、元素的索引、数组本身 |
| 2 | number | 否 | 供计算的初始化值 |
- 说明:第一个参数是到目前为止的简化操作累计的结果
- 注意:如果没有初始化值,第一次调用函数的第一个参数就是第一个数组元素,第二个参数则是第二个数组元素。如果有初始化值,第一次调用函数的第一个参数就是初始化值,二个参数则是第一个数组元素。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b= data.reduce((x,y)=>{
return x+y;
},0)
log(b)
var c= data.reduce((x,y)=>{
return x*y;
},1)
log(c)
var d= data.reduce((x,y)=>{
return x>y?x:y;
},1)
log(d)

reduceRight() --->简化
- 使用热度:不常用
- 是否改变原始数组:否
- 返回:返回一个值
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 作用 |
|---|---|---|---|
| 1 | function | 是 | 四个参数分别是:初始化值/数组元素、数组元素、元素的索引、数组本身 |
| 2 | number | 否 | 供计算的初始化值 |
- 说明:第一个参数是到目前为止的简化操作累计的结果。不同于reduce这个仅仅是从右到左计算。
- 注意:如果没有初始化值,第一次调用函数的第一个参数就是第一个数组元素,第二个参数则是第二个数组元素。如果有初始化值,第一次调用函数的第一个参数就是初始化值,二个参数则是第一个数组元素。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
data.reduceRight((x,y)=>{
log(y)
return x+y;
},0)

indexOf() --->搜索
- 使用热度:经常用
- 是否改变原始数组:否
- 返回:返回数组索引或者-1
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 作用 |
|---|---|---|---|
| 1 | * | 是 | 要搜索的数组元素 |
| 2 | number | 否 | 从数组哪个索引开始搜索 |
- 说明:如果能搜索到结果将返回第一个索引,如果搜索不到就返回-1
- 注意:如果第二个参数是负数,指的是从数组元素末尾的偏移量位置开始向后搜索,而不是到偏移量位置就截止搜索了,这里是很容易和splice弄混的。
- 实例如下:
var log=console.log;
var data=[1,2,3,4,5];
var b=data.indexOf(1,-5);
log(b);

lastIndexOf() --->搜索
- 使用热度:经常用
- 是否改变原始数组:否
- 返回:返回数组索引或者-1
- 参数:
| 参数位置 | 参数类型 | 是否必选 | 作用 |
|---|---|---|---|
| 1 | * | 是 | 要搜索的数组元素 |
| 2 | number | 否 | 从数组哪个索引开始搜索 |
- 说明:和indexOf不同的是lashIndexOf是反向搜索
- 注意:因为是反向搜索,当第二个参数是负数的时候,就是指从末尾偏移量的位置向前搜索
- 实例如下:
var log=console.log;
var data=[1,2,3,2,5];
var b=data.lastIndexOf(2,-3)
log(b)
var c=data.lastIndexOf(1,-5)
log(c)

js数组方法大全(下)的更多相关文章
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- js数组方法大全(上)
# js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ...
- js数组方法大全
JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Array(20); // ...
- js中数组方法大全
js数组方法大全 一:前言 我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
- JavaScript数组方法大全(推荐)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
- 一站式超全JavaScript数组方法大全
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
- js 数组方法比较
js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ...
- js数组方法详解
Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...
- JavaScript数组方法大全(第二篇)
数组方法大全(第二篇) 注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 forEach()方法 遍历数组,里面可以传递一个方法 v ...
随机推荐
- 苹果开始推送 macOS Catalina10.15 正式版系统更新
北京时间今天凌晨 1 点,苹果正式推送了 macOS Catalina 10.15 正式版升级.macOS Catalina 10.15 正式版带来了许多重大改变,包括Sidecar.iTunes应用 ...
- PHP 调试脚本
如果想要通过php.exe直接运行和调试脚本,可以在PHPStorm配置如下: 1.PHP安装XDebug的扩展. 2.在PHPStorm中,配置XDebug: 1) 打开菜单 "文件&qu ...
- win-socket
WIN32平台上的WINSOCK编程都要经过下列步骤: 定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭 ...
- 【OUC2019写作】论文写作第九小组英语常用表达整理
第一部分: 一.简要综述以往和现在研究: 某方法被认为如何如何:it is well known that; it is regarded as; it is believed to ; It is ...
- Spring Cloud Alibaba 使用nacos 注册中心
### 背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 ### spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring ...
- Java_条件控制与循环控制
条件控制语句: 1. if-else语句 if(条件1){ 代码块1; }else if(条件2){ 代码块2; }else{ 代码块3; } 2. switch语句 switch(变 ...
- Echarts导出为pdf echarts导出图表(包含背景)
Echarts好像是只支持png和jpg的导出,不支持pdf导出.我就想着只能够将png在后台转为pdf了. 首先介绍一下jsp界面的代码. var thisChart = echarts.init( ...
- 设计模式(九)Bridge模式
Bridge模式就是将类的功能层次结构和类的实现层次结构连接起来. 类的功能层次结构就是根据实际非抽象类来说的,也就是父类具有基本功能,然后在子类中增加新功能.用于增加新功能. 类的实现层次结构就是根 ...
- docker-compose下的java应用启动顺序两部曲之一:问题分析
在docker-compose编排多个容器时,需要按实际情况控制各容器的启动顺序,本文是<docker-compose下的java应用启动顺序两部曲>的第一篇,文中会分析启动顺序的重要性, ...
- MongoDB Java API操作很全的整理
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...