数组
1. 影响数组本身
splice() 添加/删除数组元素
返回值: 如果有元素被删除,返回包含被删除项目的新数组
sort() 数组排序 arr.sort((a,b)=> a-b); a-b是正序 b-a是逆序
pop() 删除一个数组中的最后的一个元素 返回值: 返回被删除的元素
shift() 删除数组的第一个元素 返回值: 返回被删除的元素
push() 向数组的末尾添加元素 返回值: arrayObject 的新长度。。
unshift() 向数组的开头添加一个或更多元素 返回值: arrayObject 的新长度。。
reverse() 颠倒数组中元素的顺序 返回值: 颠倒后的新数组。
2. 返回新副本
slice() 浅拷贝数组的元素
返回值: 返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。参数为空则为原数组。
join() 数组转字符串
str(可选): 指定要使用的分隔符,默认使用逗号作为分隔符。
返回值: 返回生成的字符串。
concat() 合并两个或多个数组;arrayX():该参数可以是具体的值,也可以是数组对象。可以是任意多个。返回值: 返回返回合并后的新数组。
indexOf() 查找数组是否存在某个元素返回下标,一定是某个数组元素,未找到返回-1。不会隐士转换
lastIndexOf() 查找指定元素在数组中的最后一个位置;返回值: 方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)
includes() 查找数组是否包含某个元素。 返回值: 返回布尔
3. 迭代方法
forEach() every() 为每个元素执行一次回调函数
filter() 返回为true的元素
some() 一项成立为true,遇到return true就跳出,不是执行所有,并跳出回调,后面元素不再执行
map() 返回一个新数组
var arr = ['sde', 'ded']
var b1=[]
arr.some((item) =>{
if(item.indexOf('d') >= 0) {
b1.push(item)
return true
}
})
console.log(b1);//["sde"] some 遇到true 会跳出
// 箭头函数 注意一个坑 如果是加了{}最好带上 return 不然会有问题
// 把some 换成其他迭代方法 都会执行结果:['sde', 'ded'],哪怕return true