js数组常用方法
- charAt():返回在指定位置的字符,字符串的下标从0开始
- charCodeAt():返回指定位置的字符的unicode编码
- concat():连接字符串 str2.concat(str1) 把str1连接到str2上
- indexOf():检索字符串,返回的是字符在字符串的下标 str.indexOf(‘aaa’) 如果没有找到匹配的值为-1
- match():在字符串内检索指定的值或找到一个或多个正则表达式的匹配,返回的是值而不是值的位置。没有返回null
- replace(a,b):替换匹配的字符串,用b替换掉a
- search():检索与字符串匹配的子串,返回的是地址
- slice():提取字符串片段,并在新的字符串中返回被提取的部分
- split():把字符分割成数组
- toLocaleLowerCase()/toLowerCase():把字符串转换成小写
- toLocaleUpperCase()/toUpperCase():把字符串准换成大写
- substr():提取字符串中两个指定索引号之间的字符(空格不占位置)
- subString():提取字符串中两个指定索引号之间的字符
- slice[start,end]:返回从原数组中指定开始下表到结束下表之间的项组成的新数组(原数组不变)
- splice():删除,2个参数,起始位置,删除的项数
- pop():删除数组的最后一个元素,减少数组的长度,返回被删除的值
- push():将参数添加到数组的最后,返回新数组的长度
- shift():删除数组的第一个参数,数组的长度减1,无参
- unshift():像数组的开头添加一个或更多的元素,并返回新的长度。(参数不限)
- sort():按指定的参数对数组进行排序,返回的值是经过排序后的数组(无参,函数)
- join():将数组的元素组成一个字符串,以separator(分割器)
- concat(3,4):把两个字符串连接起来,返回的值是一个副本(参数不限)
- indexOf():从数组的开头向后查找,接受两个参数,要查找的项和查找起点的位置索引
- forEach():对数组的每个元素执行一次提供的函数。
- map():对数组的每一项运行给定的函数,返回没戏函数调用的结果组成的数组
concat() ,不改变原数组
- 连接字符串
- str2.concat(str1) // str2str1
indexOf()
- 检索字符串,返回字符在字符串的下标,没有则返回-1
match()
- 在字符串内检索指定的值或找到一个或多个正则表达式匹配,返回的是值而不是值的位置。没有返回的是null
数组常用方法
Array.isArray()
- Array.isArray([1,2,3]) //true
Array.of() 返回一个由参数构成的数组
Array.from() 将数组对象转化为数组,不改变原对象,返回新数组
let a = {0:'1',1:'2',2:'3','length':3}
let arr = Array.from(a)
pop() 删除数组最后一个元素,改变原数组,返回被删除的元素
- let arr = [1,2,3]
- let a = arr.pop() //3
- console.log(arr) //[1,2]
shift() 删除数组的第一个元素,改变原数组,返回被删除的元素
push() 向末尾添加元素,改变原数组,返回添加后的length
unshift() 向数组开头添加元素,改变原数组,返回添加后数组的length
reverse() 反转数组,改变原数组
splice() 添加/删除/替换 当前数组改变
- arr.splice(index,num,item1,item2,…)
- index 用来指定添加删除元素的位置,可以为负数,表示从尾部开始
- num 删除元素的数量
- 如果是删除操作,会将删除的元素放在新数组中返回
let arr = [1,2,3,4]
let a = arr.splice(0,0,7)
let b = arr.splice(-1,0,6)
sort() 数组排序
let arr = [1,0,5,4,45,78,6,14,2]
arr.sort((a,b)=>a-b){
console.log(arr)
}
let arr = [{age:18,sex:0},{age:19,sex:0}]
arr.sort((a,b)=>{
if(a.age ===b.age){
return a.sex - b.sex
}else{
return a.age-b.age
}
})
arr.copyWithin(index,start,end)
arr.fill(value,start,end) 数组的填充
slice() 拷贝数组元素,不改变原来的数组
let a = [1,2,3,4]
let b = a.slice(0,2)
b=>1,2
join() 将数组转化成字符串,不改变原数组,可指定分隔符
toString() 数组转化成字符串,并返回结果(不改变原数组)
lastIndexOf逆向查找数组中的第一个值,第一个参数为查找的值,第二个是查找的起始位置
includes() 查找原数组是否包含某个元素,不该元原数组
- 第一个参数为查找的值,必选
- 第二个为查找的起始位置
- 返回true/false
数组中的遍历
forEach
let arr = [1,2,3,4]
ar.forEach((value,index)=>{
console.log(value)
console.log(index)
})
some() 检查数组中是否存在满足条件的元素
every() 检查数组中的元素是否全部满足条件
let arr = [1,2,3]
let resulet = arr.every(item=>item*2)
result => [2,4,6]
filter() 过滤原数组,返回新数组
map() 对数组中的每一个元素进行处理,并返回新的数组
key遍历键名/values()遍历键值/entries()遍历键值对
reduce() 数组的累加器,合并成一个值
let arr = [1,2,3,4]
let sum = arr.reduce((total,value)=>{
total +value
})
sum =>10