数组和字符串的方法总结

一、数组

ES3

方法

作用

参数

返回值

原数组是否改变

join()

将数组转化为字符串

1.无参数时,默认返回用逗号连接数组每一项的字符串

2.有 符号字符串 参数时,返回用符号连接数组每一项的字符串

新字符串

reverse()

将数组中的元素颠倒顺序

无参数

数组

sort ( )

将数组元素按照一定规则排序

1、无参数时,默认按照字母表顺序

2、有参数时,只能传一个比较函数,该函数参数又有两个参数(第三个参数默认undefined), 假设第一个参数应该在前,你应该返回一个小于0的数值,否则返回大于0的数值

数组

concat( )

拼接数组/浅拷贝

拼接数组/浅拷贝参数为字符串或数组(数组项或数组名),参数不限

1、当参数为数组时,粘合的是数组的元素,而非数组本身

2、但此方法不会扁平化数组参数(换句话说,如果你的参数是个数组,里面又嵌套了超过1个数组,这个里面的数组的元素不会被提取出来粘合,而是整个数组被粘合在新的数组后面).

新数组、字符串

slice( )

查找数组中返回选定的元素

1、无参数时,将原样返回一个新的数组,相当于复制了一遍数组

2、第一个参数,该参数为选取的起始下标。 如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推

3、第二个参数为截止下标,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素

返回一个新的数组,包含从 start 到 end (不包括该元素)

splice( )

从数组中删除、插入元素

前俩个参数(必须)指定了删除,从第三个参数(可选)开始,指定拼接。

1、第一个参数规定,删除、插入的起始位置(数组下标)

2、第二个参数规定删除的元素个数, 若省略,从起始点到数组结尾的所有元素都将被删除

3、第三个参数,指被拼接到原数组的元素,区别于concat(), splice()会插入数组本身而非数组的元素(会扁平化数组)

返回删除项组成的新数组

push( )

在原数组后面追加

参数不限,不会扁平化数组

返回新数组的数组长度

pop( )

删除并返回数组的最后一个元素

无参数

返回删除项

unshift( )

在原数组前面追加

参数不限,不会改变参数顺序

返回新数组的数组长度

shift( )

删除并返回数组的第一个元素

无参数

返回删除项

toString( )

将数组转化为字符串

无参数

返回用逗号连接数组每一项的字符串

toLocaleString( )

将数组转化为字符串

无参数

返回用逗号连接数组每一项的字符串

join()
数组和字符串的方法总结_第1张图片
reverse()
sort ()
数组和字符串的方法总结_第2张图片
concat()
slice()
splice()
push()
pop()
unshift()
shift()
toString()
数组和字符串的方法总结_第3张图片
toLocalString()
数组和字符串的方法总结_第4张图片

ES5

方法

作用

参数

返回值

原数组是否改变

forEach( )

遍历数组

用于不改变数据值,单纯的获取值

参数是一个带return的函数,函数的参数有三个分别是value,index,self

无返回值

map( )

遍历/操作/返回

用于改变数据

参数是一个带return的函数,函数的参数有三个分别是value,index,self

返回新数组

filter( )

按照某个条件过滤数组

参数是一个带return的函数,函数的参数有三个分别是value,index,self

返回一个满足过滤条件的新数组

否,不会对空数组进行检测

every( )

对数组元素应用指定的函数判定

参数是一个函数,数组中所有元素在函数判定下都为true则返回true,否则返回false. 对于空数组,返回true

boolean

否,且不会对空数组进行检测

some( )

对数组元素应用指定的函数判定

数是一个函数,数组中 有一个元素在函数判定下都为true则返回true,否则返回false. 对于空数组,返回 false

boolean

否,且 some() 不会对空数组进行检测

reduce( )

归并(从左到右累加)

第一个参数是执行化简操作的函数.第二个是传递给函数的初始值(如果无,函数将把数组中的第一个元素作为其初始值).

1、 空数组上,不带初始值参数调用此函数将会报错.

2、 如果只有一个元素且没有指定初始值,或者有一个空数组并且指定了一个初始值,reduce() 只是简单地返回那个值而不会调用化简函数

返回最后一次的操作结果 ?新数组同上

reduceRight( )

归并(从右到左累加)

indexOf( )

从前往后查询数组中指定的元素

1、第一个参数指的是需要搜索的值,返回则找到第一个元素的索引或者如果没有找到就返回 -1.

2、 第二个参数是可选的,它指定数组中的一个索引,表示从哪里开始搜索,可以是负数,它代表相对于数组末尾的个数。最后一个元素是-1,倒数第二个元素为-2,以此类推...

lastIndexOf( )

从后往前查询数组中指定的元素

forEach()
数组和字符串的方法总结_第5张图片
map()
数组和字符串的方法总结_第6张图片
filter()
数组和字符串的方法总结_第7张图片
every()
数组和字符串的方法总结_第8张图片
数组和字符串的方法总结_第9张图片
some()
数组和字符串的方法总结_第10张图片
reduce()
数组和字符串的方法总结_第11张图片
reduceRight()
数组和字符串的方法总结_第12张图片
indexOf()和lastIndexOf()
数组和字符串的方法总结_第13张图片

ES6

方法

作用

参数

返回值

原数组是否改变

Array.from( )

将一个类数组对象或者可遍历对象(包括字符串)转换成一个真正的数组。

1、第一个参数可以为 类数组对象(必须要有length 属性)、Set结构数据,字符串,真数组

2、还可以接受 第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

返回真正的数组

Array.of( )

建一个包含所有传入参数的数组

1、无参数时返回一个空数组 2、有参数时 不管参数的数量与类型

返回真正的数组

find( )

找出第一个符合条件的数组成员

它的参数是一个回调函数,回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组(value,index,self)

如果找到了符合条件的成员就返回该成员;如果没有符合条件的成员,则返回undefined

findIndex( )

控件允许输入的最多字符

如果找到了符合条件的成员就返回该成员的位置,如果所有成员都不符合条件,则返回-1

fill( )

填充一个数组(插入数据)

1、第一个参数表示被填充的元素.

2、第二个参数表示填充的起始位置.

3、第三个参数表示填充的结束位置(指定位置之前一个)

数组

copyWidthin( )

在数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员)

个参数: 1、target(必须): 从该位置开始替换数据. 2、start(可选):从该位置开始读取数据. 3、end(可选):到该位置的前一个位置

数组

Array.from()
数组和字符串的方法总结_第14张图片
Array.of()
find()
数组和字符串的方法总结_第15张图片
findIndex()
fill()
数组和字符串的方法总结_第16张图片
copyWidth()
数组和字符串的方法总结_第17张图片

ES7

方法

作用

参数

返回值

原数组是否改变

includes( )

判断数组是否包含给定的值,与字符串的includes()方法类似

1、第一个参数表示要查找的数 2、第二个参数表示搜索的起始位置

boolean

includes()

ES10

方法

作用

参数

返回值

原数组是否改变

flat( )

一个可指定的深度的数组降维,也可去除数组的空项

参数为指定深度,不写参数默认降一维,参数为Infinity展开任意深度,即全部降维

新数组

flatMap( )

先使用映射函数映射每个元素,然后将结果压缩成一个新数组

和map的参数相同

新数组

flat( )
数组和字符串的方法总结_第18张图片
flatMap( )

二、字符串

charAt()

返回字符串的第 n 个字符,如果不在 0~str.length-1之间,则返回一个空字符

charCodeAt()

方法 :返回索引对应的字符串的ASCII码

concat()

方法:拼接字符串

slice(a,b)

方法: 从索引a开始截取(包括a),一直截取到索引b(不包括b),如果里面只有一个参数,就直接截取到末尾

replace()

方法 :替换字符串

trim()

方法:把字符串两边的空格去掉,返回 字符串 的一个副本,不影响字符串本身的值

toLowerCase()

方法:大写字母转小写字母

toUpperCase(); 方法:小写字母转大写字母
search()

方法:返回字符串对应的索引

查找 str 与一个正则表达式是否匹配。如果匹配成功,则返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象

split()

方法:用指定的字符串隔开,并以数组的方式返回

你可能感兴趣的:(算法,javascript)