一、数组方法
arr.copyWithin(a,b,c)
用数组部分覆盖数组中的某些内容,改变原数组内容但长度不变
a:被覆盖的起始下标;
b:复制开始下标(包含);
c:复制结束下标(不包含)
[1,2,3,4].copyWithin(1,2,3)//[1, 3, 3, 4]
arr.flatMap(function(t,i){})
拍平数组,只能拍平一层 t表示第二层的每项,i索引
[1,2,3,4,[1,2]].flatMap((t,i)=>t) //[1,2,3,4,1,2]
arr.fill(填充内容)
将数组以某个内容填充,数组所有项相同
let arr=new Array[3];
arr.fill(0);//arr为[0,0,0]
arr.unshift() 添加元素
在数组最前面插入项,返回数组的长度
arr.shift() 删除元素
删除数组中的第一个元素,并返回删除的元素
arr.push() 添加元素
在数组最后面插入项,返回数组的长度
arr.pop() 删除元素
删除数组中的最后一个元素,并返回删除的元素
arr.revese()
颠倒数组顺序
arr1.concat(arr2)
合并两个数组,返回新数组
arr.splice(a,b,c)
删除/添加元素
a:起始下标
b:删除个数
c:添加的元素内容(可选)
[1,2,3].splice(1,1,3)//[1,3,3]
arr.sort() 排序,改变原数组
参数不填:以字母递增顺序排序;
参数为function(a,b){return a-b} 以数字递增顺序排序
参数为function(a,b){return b-a} 以数字递减顺序排序
[1,54,2,6,29].sort((a,b)=>a-b);//[1, 2, 6, 29, 54]
arr.slice(a,b) 截取数组元素
a:开始下标;
b:结束下标
arr.join(拼接内容) 将数组拼接成字符串
二、数组遍历方法
arr.forEach() 遍历数组
无return,方法内也没有return
arr.map() 遍历数组
有return ,方法本身返回函数内return的集合
arr.filter() 过滤数组内容
return 过滤条件
arr.reduce(function(){},sumStart) 迭代
第一个参数 : (sum,item,index)=>{
return 下一次的sum值
}
第二个参数 : sum初始值, 一定要传初始值,一般为0(不传遇到空数组就会报错)
reduce自己返回值 : 最后一次sum结果
const res = arr.reduce( (sum,item,index) => sum + item , 0)
arr.every()
有一个不满足条件的就返回false
arr.some()
有一个满足条件的就返回true,所有的都不满足才返回false
三、字符串方法
str.padStart(满足几位,添加的字符)
向前补齐
'1'.padStart(2,'0'); //'01' 可以用于日期补0
str.padEnd(满足几位,添加的字符)
向后补齐
'1'.padEnd(2,'0); //'10'
str.split('') 分割
将字符串以某字符分割成数组
str.toUpperCase() 把字符串转换为大写。
str.toLowerCase() 把字符串转换为小写
str.indexOf(检索的字符,检索起始下标)
返回指定字符串在字符串中首次出现的位置,没有则返回-1
str.lastIndexOf(检索的字符,检索起始下标)
返回检索字符最后出现的位置,没有则返回-1
str.search(检索的字符串)
返回与字符串匹配的索引值,没有则返回-1
str.charAt(字符位置)
返回指定位置的字符,无参数默认为第一个字符
str.substring(开始索引,结束索引) 截取字符串
与slice功能一样
str.substr(开始索引,截取个数)
str.replace(oldStr,newStr)
替换字符串