数组方法
1.push()
//修改原数组
//返回值是新数组的长度
//向数组的尾部添加内容
//参数可以是多项
2.pop()
//修改原数组
//返回值是被删除的那行
//向数组的尾部删除内容
//无参数
3.unshift()
//向数组的头部添加内容
//参数可以是多项
//修改原数组
//返回值是新数组的长度
4.shift()
//向数组的头部删除内容
//无参数
//修改原数组
//返回值是删除的项
5.reserve()
//倒序排序
//无参数
//修改原数组
//返回值是倒序后的新数组
6.sort()
//参数 有 无
//修改原数组
//返回值是排序后的新数组
//默认升序
//多位数值排序后必须传参,否则排序变乱
7.splice()
-
作用:删除/新增/修改
-
参数:splice(n,m,...x)不能传负数
-
返回值:删除的元素
-
是否改变原数组:是
删除 arr.splice(开始的索引,删除的个数,);
//返回值: 删除的数组内容,存放到数组里
新增 arr.splice(开始的索引,删除的个数,新增的内容)
新增到开始索引的前边
返回值 空数组
替换(修改)---先删除后增加
arr.splice(开始的索引,删除的个数,新增的内容)
新增到开始索引的前边
返回值 删除后的内容
8.slice()
//获取子数组
//不修改原数组
//参数 可以有一个或两个
//返回值 获取的子数组()新的数组
arr.slice(开始索引,结束索引)//含头不含尾
arr.slice(开始索引)从开始索引截取到最后
arr.slice() 从0开始截到最后,相当于复制一遍
arr.slice(开始索引,结束索引),都可以取负值,截取方向只能是从左到右
如果结束位置小于开始位置,则返回空数组
9.concat()
拼接
不修改原数组
参数:拼接的内容
返回值:拼后的新数组
如果拼接的是数组,会将数组展开后拼接
10.toString()
数组转化为字符串
不修改原数组
参数:拼接的内容
返回值:字符串,用逗号分隔
11.join()
不修改原数组
参数:有或无
返回值:字符串,用逗号分隔(无参,默认逗号分隔)
有参的时候,根据自定义的参数拼接
12.indexOf/lastIndexOf
判断数组中是否含有,含有的话返回索引(含有多个的话返回第一个索引)
不修改原数组
参数:(n,m)
n:检测的项
m:如果是indexOf 的话,就是从索引m开始检索。如果是lastIndexOf 的话,就是从索引m停止检索
返回值:索引值或-1
arr.indexOf(想要判断的内容)
方向:从左到右
arr.lastIndexOf(想要判断的内容)
方向:从右向左
数组去重
13.includes()
判断数组是否含有某项内容
参数:要判断的内容
返回值:true false
数组迭代方法
1.forEach()
作用:遍历数组的每一项,注意return没有任何作用
参数:函数 三个参数(item index arr)
返回值:undefined
是否修改原数组:否
2.map()
作用:把一个数组可以映射成一个新数组
参数:函数
返回值:映射后的新数组(就是return的值)
是否修改原数组:否
3.filter()
过滤 把满足条件(return)的内容都查找出来
参数 函数 三个参数(index idex arr)
返回值 过滤后的新数组
不修改原数组
4.find()
查找 把满足条件(return)的内容查找出来,只取第一项
参数 函数 三个参数(index idex arr)
返回值 查找的那项值,查找不到就是undefined
不修改原数组
5.findIndex()
查找,把满足条件(return)的内容索引查找出来,只取第一项
参数 函数 三个参数(index idex arr)
返回值 查找的那项索引值,查找不到就是 -1
不修改原数组
6.flat()
数组扁平化
参数:有/无(拍平一层)
不修改原数组
返回值:拍平后的数组
7.some()
数组中有满足条件(return)的那项(有一项满足)有 true 无 false
参数 函数 三个参数(item,index,arr)
不修改原数组
返回值 true false
8.every()
数组中的每一项都要满足条件才是true,否则为false
参数:函数 三个参数(item,index,arr)
不修改原数组
返回值 true false
9.*****reduce()
方向 从左到右循环 正序循环
一般用于求和
参数 函数 三个参数(res,item,index,arr)
不修改原数组
返回值 任何类型
倒序循环 reduceRight 从右向左
参数可以有两个,第二个参数为初始值
10.fill()
填充
参数:填充值 不写值 undefined
返回值 填充后的新数组
修改原来的数组
arr.fill(内容,开始索引,结束索引)含头不含尾
arr.fill(内容) 不写开始和结尾 就是完全替换
arr.fill(内容,开始索引) 开始索引到最后
arr.fill()可以有负值
对标slice()
字符串方法
1.charAt
2.charCodeAt
3.indexOf
4.lastIndexOf
5.slice
-
从索引n(包括)开始查找到索引m(不包含)结束的字符
-
如果索引m不写,就是查找到最后
-
如果n只写一个0,或者不写就是复制一份
-
也可以为负数,转换成正数的规律:str.length+负的索引值
6.substring()
7.substr(n,m)
-
作用:从索引n开始截取m个字符
-
参数:n,m(个数)
-
返回值:截取的字符串
-
也支持从负索引开始
8.toUpperCase()
9.toLowerCase()
10.replace()
-
作用:把字符串中某部分的字符替换成另一部分字符
-
参数:(str1,str2)第一个参数代表的是要替换的字符或者是正则;第二个参数代表的是替换后的字符
-
返回值:替换后的字符串
-
var str="zhu2018zhu2019zhu";
-
var res=str.replace("zhu","珠");
-
//===>"珠2018zhu2019zhu"
-
var res=str.replace(/zhu/g,"珠");
-
console.log(res)===>"珠2018珠2019珠"
11.split()
-
作用:按照指定的字符把字符串分割成数组
-
参数:分割符
-
返回值:分割后的数组
字符串方法应用
1.转化时间
![](https://i-blog.csdnimg.cn/direct/1dd49d4f723949af9db804b46a70e551.png)
2.问号参数处理
![](https://i-blog.csdnimg.cn/direct/d6b6ec92f24b46b78393f75c63251224.png)