一、数组的方法
会改变原数组
(1)push( )方法
接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
![](https://img-blog.csdnimg.cn/img_convert/18c7090e1e3525e4fb3ca2ad8a1f380b.png)
(2)pop( )方法
删除数组末尾最后一项,并返回删除元素的值。
![](https://img-blog.csdnimg.cn/img_convert/782fb15d153f47d0702fa0ef95cc0687.png)
(3)shift( )方法
删除数组第一项,并返回删除元素的值(如果数组为空则返回 undefined )。
![](https://img-blog.csdnimg.cn/img_convert/6c5887f7b52dae7979d60b3eb845d789.png)
(4)unshift( )方法
将参数添加到原数组开头,并返回数组的长度。
![](https://img-blog.csdnimg.cn/img_convert/13b8181eb4a80d1652ec50a23391fa5c.png)
(5)sort( )方法
默认按升序排列数组项,排序时会调用每个数组项的 toString() 转型方法,然后比较得到的字符
串, 以确定如何排序。
数组内为字符串时,会按升序来排列并改变原数组;数组内为数值时,排序并未发生改变。
![](https://img-blog.csdnimg.cn/img_convert/6d49e406e5114ab5c76775e121954d3f.png)
为了使数组内的数值进行排序,sort() 方法可以接收一个比较函数作为参数。
![](https://img-blog.csdnimg.cn/img_convert/28a344ec565b823affb5672acb8e3077.png)
(6)reverse( )方法
通过反转字符序列来反转该字符序列。
![](https://img-blog.csdnimg.cn/img_convert/20fef60a19af3fe8264ab7698d6ed2ae.png)
(7)splice( )方法
splice() 方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则
返回一个空数组。
删除:3 种参数:起始位置、要删除的项数和要插入的项(这里为空)。
例如, splice(1,3) 会删除数组中从位置1开始的三项,即2,3,4;
![](https://img-blog.csdnimg.cn/img_convert/61b5d7ba4e5631b18cf2fc00e226d019.png)
插入:3 种参数:起始位置、要删除的项数(这里为0)和要插入的项。
例如,splice(5,0,6,7,8) 会从当前数组的位置 5开始插入6、7、8;
![](https://img-blog.csdnimg.cn/img_convert/7d6dfeca274429df0658581f3c7b7451.png)
替换:3 种参数:起始位置、要删除的项数和要插入的项。
例如,splice (2,2,7,8) 会删除当前数组位置 2和位置3的项,然后再从位置 2 开始插入7,8;
![](https://img-blog.csdnimg.cn/img_convert/03c13adf814da0de128dd047a9b871c4.png)
不会改变原数组
(1)concat( )方法
将参数添加到原数组的副本中,没参数时只是复制当前数组并返回副本。
![](https://img-blog.csdnimg.cn/img_convert/abe76bb73e283ff905a070ccccfb402c.png)
(2)slice( )方法
返回从原数组中指定开始下标到结束下标之间的项组成的新数组。
只有一个参数时,返回从该参数位置开始到末尾的所有项
如果有两个参数,返回起始和结束位置之间的项(但不包括结束位置的项)
![](https://img-blog.csdnimg.cn/img_convert/cd7668b77a8867dabcb1046a72957620.png)
(3)join( )方法
将数组的元素组起一个字符串,该方法只接收一个参数:分隔符(默认为逗号)
![](https://img-blog.csdnimg.cn/img_convert/a66b1b25fa75d2bcf8d7fba214c267dd.png)
(4)indexOf( )方法
接收两个参数:要查找的项和起始位置(默认从0开始),查找方向从左往右。
![](https://img-blog.csdnimg.cn/img_convert/faf8d7b1c24773e8d80682af156e4f59.png)
(5)lastlndexOf( )方法
接收两个参数:要查找的项和起始位置(默认从末尾开始),查找方向从右往左。
![](https://img-blog.csdnimg.cn/img_convert/758c2e8fdaafa74a3456a507c8fe94cc.png)
(6)forEach( )方法
对数组进行遍历循环,对数组中的每一项运行参数的函数。参数都是function类型。
其中对应的参数分别为:遍历的数组内容,对应的数组索引,数组本身。
![](https://img-blog.csdnimg.cn/img_convert/f7a0f18ef1308795552a619840f8ae6a.png)
(7)map( )方法
指“映射”,对数组中的每一项运行参数的函数,并返回每次函数调用的结果组成的数组。
![](https://img-blog.csdnimg.cn/img_convert/28536228b8d70b463e6bd3ebefca2dd7.png)
(8)filter( )方法
指“过滤”,数组中的每一项运行参数的函数,并返回满足过滤条件组成的数组。
![](https://img-blog.csdnimg.cn/img_convert/30bb0823e9ecd7e221a6809b475a2152.png)
(9)every( )方法
判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
![](https://img-blog.csdnimg.cn/img_convert/f2eab679ab5429dce9540e0be3b2c1fb.png)
(10)some( )方法
判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
![](https://img-blog.csdnimg.cn/img_convert/ce29a1fd3740e90af5556ef215fa4be3.png)
(11)reduce( )方法
实现迭代数组的所有项,然后构建一个最终返回的值。reduce() 接收两个参数:在每一项上调用的函
数,作为归并基础的初始值。
其中函数接收 4 个参数:前一个值、当前值、项的索引和数组对象。
![](https://img-blog.csdnimg.cn/img_convert/89f3946879214c05c367d6cbfd23a8ee.png)
(12)reduceRight( )方法
与 reduce() 同理,但遍历是从右往左,与 reduce() 反向。
![](https://img-blog.csdnimg.cn/img_convert/e7289f80ab55a6b10e793303ddbada22.png)
扩展方法
(1)Array.form( )方法
Array构造函数提供了一个from( )方法,它可以接受一个伪数组作为参数,返回值为伪数组转换后
的结果,这个结果是一个真正的数组。
![](https://img-blog.csdnimg.cn/img_convert/ac760d9cff28761f64843eed7ce4f464.png)
在Array构造函数中from( )方法还可以接收两个参数,这与数组中的map( )方法类似,它用于处
理数组中的每个元素并将处理后的结果放入返回的数组中。
![](https://img-blog.csdnimg.cn/img_convert/7a8e00dda4ae724985d93221c10e8258.png)
(2)find( )方法
用于在数组中查找出第一个符合条件的数组成员。find( )方法接受一个函数作为参数,所有数组
成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员,如果没有找到
符合条件的成员,则返回undefined。
![](https://img-blog.csdnimg.cn/img_convert/c913f0555d616e1242ea041f0bd521d7.png)
(3)findIndex( )方法
用于在数组中查找出第一个符合条件的数组成员的索引,如果没有找到则返回-1。
![](https://img-blog.csdnimg.cn/img_convert/aa67c19799a19289122ef8426d258d8a.png)
(4)includes( )方法
可以表示某个数组是否包含给定的值,返回一个布尔值,true表示包含给定的值,false表示不包
含给定的值。
![](https://img-blog.csdnimg.cn/img_convert/1f292b3ab8e79045ac37fa012ad91943.png)
二、字符串的方法
1.charAt( )方法
返回在指定位置的字符。
![](https://img-blog.csdnimg.cn/img_convert/0dc174e519c484ced1aa0e1bdd5a7bc4.png)
2.charCodeAt( )方法
返回在指定的位置的字符的 Unicode 编码。
![](https://img-blog.csdnimg.cn/img_convert/2d53fc6bc763f98bbf85791811c9522c.png)
3.concat( )方法
连接字符串。
![](https://img-blog.csdnimg.cn/img_convert/b7a2ff24025b957fc0bd3295c0b1c208.png)
4.indexOf( )方法
检索字符串。indexOf() 方法对大小写敏感。
![](https://img-blog.csdnimg.cn/img_convert/51a2202ab2476a17002efbf53f8e1594.png)
5.match( )方法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法
类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
![](https://img-blog.csdnimg.cn/img_convert/b8da7422a7d9f142d3e32de9ebd7221e.png)
6.replace( )方法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配
的子串。
![](https://img-blog.csdnimg.cn/img_convert/f890ed8a1797d21bb421d27b984313bf.png)
7.search( )方法
用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。要执行忽略
大小写的检索,请追加标志 i。如果没有找到任何匹配的子串,则返回 -1。
![](https://img-blog.csdnimg.cn/img_convert/82f2c64d720d6f77a48026102f379a3a.png)
8.slice( )方法
提取字符串的片断,并在新的字符串中返回被提取的部分。
参数为(要抽取的片断的起始下标,紧接着要抽取的片段的结尾的下标);
如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
![](https://img-blog.csdnimg.cn/img_convert/b67b5e113404373111267cf1b7e7c56e.png)
9.split( )方法
把字符串分割为字符串数组。
![](https://img-blog.csdnimg.cn/img_convert/1ad2328bc3213774c0a52525966e8f44.png)
10.toLocaleLowerCase( )方法
把字符串转换为小写。
![](https://img-blog.csdnimg.cn/img_convert/8b56fabdad4179541dc59f33524cac09.png)
11.toLocaleUpperCase()方法
把字符串转换为大写。
![](https://img-blog.csdnimg.cn/img_convert/7929f51af504072fdebc0fe8cdb634e3.png)
12.toLowerCase( )方法
把字符串转换为小写。
![](https://img-blog.csdnimg.cn/img_convert/5e7dc5554f4da977d3683ee2c51bc0f8.png)
13.toUpperCase( )方法
把字符串转换为大写。
![](https://img-blog.csdnimg.cn/img_convert/c230506c7bd3c7ae4a3f4cb4e897e8a8.png)
14.substr( )方法
从起始索引号提取字符串中指定数目的字符。
参数(要抽取的子串的起始下标,子串中的字符数。必须是数值);
![](https://img-blog.csdnimg.cn/img_convert/e3731cbfa0a754ebb0e18c293c57d1ce.png)
15.substring( )方法
提取字符串中两个指定的索引号之间的字符。
参数(起始位置,结束位置);
![](https://img-blog.csdnimg.cn/img_convert/fb755be67ca32dedbf244c3faa672d92.png)
16.codePointAt( )方法
codePointAt方法的参数是字符在字符串中的位置(从 0 开始),最终值返回十进制码。
![](https://img-blog.csdnimg.cn/img_convert/f73f66bec873b8f76c12b62fcfa7a42d.png)
17.String.fromCodePoint( )方法
用于从码点返回对应字符,但是这个方法不能识别 32 位的 UTF-16 字符(Unicode 编号
大于0xFFFF)
![](https://img-blog.csdnimg.cn/img_convert/da7c5a1d7d8b990f934e6f2bc89a72f5.png)
18.字符串的遍历器接口 for of
它最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。
![](https://img-blog.csdnimg.cn/img_convert/4f7b222433359b027eb4a756211b2f9d.png)
19.at( )方法
at方法可以识别Unicode 编号大于0xFFFF的字符,返回正确的字符。
![](https://img-blog.csdnimg.cn/img_convert/5942df3eea4aa531d35f43a71adaeefb.png)
20.normalize( )方法
用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。
![](https://img-blog.csdnimg.cn/img_convert/764cc5b6e95afa761da80e1e29d70629.png)
21.includes( ), startsWith( ), endsWith( )
includes( ),返回布尔值,表示是否找到了参数字符串;
startsWith( ),返回布尔值,表示参数字符串是否在原字符串的头部;
endsWith( ),返回布尔值,表示参数字符串是否在原字符串的尾部;
这三个方法都支持第二个参数,表示开始搜索的位置。
![](https://img-blog.csdnimg.cn/img_convert/8e48ae9ec6bfbbd62dfc38ceac156775.png)
22.repeat( )方法
返回一个新字符串,表示将原字符串重复n次。
参数如果是小数,会被取整。
参数是负数或者Infinity,会报错。
![](https://img-blog.csdnimg.cn/img_convert/b14abf791381bad0e436c4fb9de77647.png)
23.padStart( ),padEnd( )
字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()
用于头部补全,padEnd()用于尾部补全。
![](https://img-blog.csdnimg.cn/img_convert/4eb346b6e8dbba670e1cc407337a5c34.png)
如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串
![](https://img-blog.csdnimg.cn/img_convert/eeeaa42495b3d6d1739c7dfe255578d9.png)
如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超
出位数的补全字符串。
![](https://img-blog.csdnimg.cn/img_convert/cc0357a8dd1a50142e65f79421361491.png)
如果省略第二个参数,默认使用空格补全长度。
另一个用途是提示字符串格式。
![](https://img-blog.csdnimg.cn/img_convert/e137f9e61332ce0b3f1a70780a39c713.png)
24.matchAll( )方法
matchAll方法返回一个正则表达式在当前字符串的所有匹配。
![](https://img-blog.csdnimg.cn/img_convert/a2403a46f34049176838efbfa59cd053.png)
25.字符串模板
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通
字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。如果你不想要这个
换行,可以使用trim方法消除它。
(1)如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
(2)模板字符串中嵌入变量,需要将变量名写在${}之中,,括号内部可以放入任意的
JavaScript 表达式,可以进行运算,以及引用对象属性。
(3)模板字符串甚至还能嵌套。
![](https://img-blog.csdnimg.cn/img_convert/9f1874d4505c8f9d504554c8a5d93b28.png)