JavaScript数组方法总结
由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaScript教程的整理,具体内容如下:
一、普通方法
1、join() 将数组元素连接在一起,并以字符串形式返回
参数:可选,指定元素之间的分隔符,没有参数则默认为逗号
返回值:字符串
对原数组的影响:无
2、reverse()将数组的元素顺序变成倒序返回
参数:无
返回值:数组
对原数组的影响:原数组被修改为倒序排列之后的数组
3、sort()对数组元素进行排序并返回
参数:可选,排序的方法函数,没有参数则默认按照字典顺序排序
返回值:排序后的数组
对原数组的影响:原数组被修改为排序之后的数组
4、concat()连接若干个数组
参数:若干个,可以是数组或者是元素,
返回值:连接后的新数组
对原数组的影响:无
5、slice()从数组中截下若干个元素,组成新的数组并返回
参数:两个数字,其中第二个可选,第一个参数表示开始截取的第一个元素的index值(截取时包含这个元素),如果第一个参数是负数,则指截取的元素从元素结尾开始算起(如:-1表示最后一个元素);第二个参数的意义则是停止截取的元素的index值(截取时不包含这个字符),负值情况同第一个参数
返回值:截取的新数组
对原数组的影响:无
6、splice()从数组中替换、删除或插入元素并返回新数组
参数:若干个参数,其中第一个参数必需,其他为可选,第一个参数为操作的第一个index值,此时无第二个参数时,将删除第一个参数(包含第一个参数)的index值之后所有的元素,含有第二个参数时,第二个参数删除元素的个数,并返回这些元素组成的新数组;当第二个参数为0时,后面的参数会作为新的元素插入原数组,并返回一个空数组;当第二个参数不为0,且含有其他参数时,则进行替换操作,并返回替换之前那些原来元素组成的新数组
返回值:删除元素组成的新数组
对原数组的影响:会对原数组进行替换、删除、插入等操作
7、push()向数组的尾部添加元素并返回数组长度
参数:若干个,向数组尾部添加的元素
返回值:添加元素之后的数组的长度
对原数组的影响:原数组尾部被添加元素
8、pop()从数组尾部删除一个元素
参数:无
返回值:删除的元素
对原数组的影响:原数组尾部被删除一个元素
9、unshift()向数组的头部添加元素并返回数组长度
参数:若干个,向数组头部添加的元素
返回值:添加元素之后的数组的长度
对原数组的影响:原数头部被添加元素
10、shift()从数组头部删除一个元素
参数:无
返回值:删除的元素
对原数组的影响:原数组头部被删除一个元素
11、toString()将数组转化为字符串,每个元素之间以逗号相隔
参数:无
返回值:形成的字符串(二维数组中也只是连接二维数组的元素)
对原数组的影响:无
12、toLocaleString()是toString()方法的本地化版本
二、迭代器方法
1、foreach()对数组每个元素调用方法
参数:一个函数
返回值:无
对原数组的影响:无
2、every()接受一个返回值为布尔类型的函数,数组中所有的元素,该函数均返回true,则返回true,否则返回false
参数:一个返回值为布尔类型的函数
返回值:true或者false
对原数组的影响:无
3、some()接受一个返回值为布尔类型的函数,数组中只要有元素,该函数返回true,则返回true,否则返回false
参数:一个返回值为布尔类型的函数
返回值:true或者false
对原数组的影响:无
4、map()接受一个函数作为参数,返回一个新数组,新数组的元素是原数组元素使用该函数的结果
参数:一个函数
返回值:每个元素使用函数的结果值组成的数组
对原数组的影响:无
5、filter()接收一个返回值为布尔值的函数作为参数,对所有元素应该该函数,并返回返回值为true的元素组成的新数组
参数:一个函数
返回值:每个元素使用函数为true的元素组成的数组
对原数组的影响:无
二、归并方法
1、reduce()接受一个函数作为参数,返回一个值。从一个累加值开始, 不断对累加值和数组中的后续元素调用该函数。
参数:一个函数
返回值:最后的累加值
对原数组的影响:无
2、reduceRight()方法
说明:和reduce一样,只是执行顺序是从右到左
JavaScript数组方法总结的更多相关文章
- JavaScript数组方法--every、some、fill
接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...
- 【译】你应该了解的JavaScript数组方法
让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...
- JavaScript数组方法大全(推荐)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
- JavaScript 数组方法处理字符串 prototype
js中数组有许多方法,如join.map,reverse.字符串没有这些方法,可以“借用”数组的方法来处理字符串. <!doctype html> <html lang=" ...
- 2018.2.27 JavaScript数组方法应用
JavaScript数组方法应用 1.找出元素item在给定数组arr中的位置 function indexOf(arr,item){ return arr.indexOf(item); } func ...
- JavaScript数组方法详解
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
- JavaScript数组方法速查,32个数组的常用方法和属性
JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...
- JavaScript数组方法大集合
JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ...
- 一站式超全JavaScript数组方法大全
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
随机推荐
- 开始跟踪Redis啦,开帖
随着NoSql的流行,对这方面的产品开始关注起来,之前一直只是看看.从昨天开始决定把Redis的实现机制啃下来,毕竟代码量也就2W行. 每天花时间看看,记录下成果. here we go.
- MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用
摘要: 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识. 第二阶段11-20篇将会侧重于专题的讲解,一篇文章解决一个实际问题. 根据园友的反馈, 本篇文章将会先对呼声最高的仓储模式进行讲解. 文 ...
- css3 calc()方法详解
calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分.因为看其外表像个函数,既然是函数为何又出现在CSS中呢?这一点也让我百思不得其解,今天有一同事告诉我,说CSS3中有一个属性 ...
- sftp 设置仅能访问自己目录的用户
1. 创建一个目录,owner为root,权限为750或755,此处为 /home/test01 添加一个用户test01,home目录设置为 /home/test01 再创建一个子目录用于用户上传: ...
- 安装 SciPy 和 scikit-learn 升级pip 及pip基本命令表
安装Scipy和scikit-learn出错,出错记录及当时最终解决办法 问题: 一.使用pip直接安装 直接pip install scipy C:\Users\Plain>pip insta ...
- 关于oracle的准备
作者:Steven Feuerstein 提高编写PL/SQL代码数量及质量的四个简单易行指导方针 我从1990年就开始编写PL/SQL代码.这意味着我已经编写了几万行的软件代码,但我确信,其中的绝大 ...
- IP和端口的相关检测
1.查看自己电脑的ip,使用ipconfig命令 2.检测某个ip是否可以连通,直接使用ping命令 3.windows下查看本机都有哪些端口开放,使用netstat -anp tcp 命令 4.查看 ...
- remot debug
哎,首先吐槽一下,尼玛这是什么编辑器居然不能直接复制粘贴我写好的东西,废话不多说.为什么可以远程调试呢?首先JAVA运行依赖JVM,所以你可以把这种 远程debug想象成两个或者多个JVM之间按照约定 ...
- win7文件夹图标中多了一把小锁打不开文件夹怎么办?
win7文件夹图标中多了一把小锁打不开文件夹怎么办?解决办法一:右击目录→取得管理员权限!该方法适用于win7旗舰版.解决办法二:右击目录→属性→安全→高级→选择everyone→更改权限→勾上完全访 ...
- VRP介绍以及AC初始化配置-06
VRP介绍 VRP:多功能路由平台(Versatile Routing Platform) 角色:网络操作系统 支撑多种设备的软件平台 提供TCP/IP 路由服务 通用路由平台VRP(Versatil ...