1.数组元素的插入和删除
push方法
在数组尾部插入元素,可插入多个元素,返回数组的长度,会改变原始数组
unshirt方法
在数组头部插入元素,可插入多个元素,会改变原始数组
pop方法
删除数组的最后一个元素,返回删除的元素。不可有参数,会改变原始数组
shirt方法
删除第一个元素,返回删除的元素,会改变原始数组
2.数组元素的截取
splice(开始截取的索引值,截取的长度,截取相应元素之后要添加的元素1,截取相应元素之后要添加的元素2...)
该方法可以进行数组元素的删除、插入、替换,返回值为从原始数组中删除的项(如果没有删除任何项,则返回一个空数组),会改变原始数组。
slice(start,end),参数可以为负数,-1代表最后一位
截取返回包含start,但不包含end索引值对应的元素,如果不传end,则截取到最后一位;当start和end都不传,截取所有,不会改变原始数组。
3.改变数组元素顺序
reverse方法
将数组逆序返回,会改变原始数组
sort方法
会改变原始数组。默认情况下会将元素按照字符串ascii码进行比较,第一位相同时比较后一位;还可传入一个函数进行排序,比较函数两个参数a和b,返回a-b 升序,返回b-a 降序。会改变原数组
4.数组转字符串
join方法
将数组中的每个元素转为字符串,并用方法中的形参作为连接符分割,默认用英语逗号,不会改变原数组
toString方法
用于返回一个由该数组所有元素以“,”拼接成的字符串,不会改变原数组
toLocaleString方法
用于返回格式化后的字符串,该字符串格式因语言不同返回值也会不同,可以通过传参决定返回的语言及具体表现,不会改变原数组
5.数组合并
concat方法---arr1.concat(arr2)
将两个数组合并到一起返回,不会改变原数组,属于浅拷贝
6.查找数组元素
indexOf方法
在array中查找等于item的值,返回找到的第一个元素的索引
let food= ["番茄", "胡萝卜", "排骨", "苹果"];
let a = food.indexOf("苹果");
console.log(a)
let b= food.indexOf("香蕉");
console.log(b)
lastIndexOf方法
lastIndexOf(val, start) start为从第几个索引开始找,默认值为最后一个,反向查找,返回第一个元素的索引值, 找不到返回-1
7.其他方法
Array.isArray()
用来判断一个值是否为数组
ES6新增方法
copyWithin方法
用于浅复制数组的一部分到另一位置,会改变原数组
copyWithin(target,start,end),其中tartget为复制到的索引值,start为开始复制的索引,end为结束复制的索引但不包括end位置的元素
fill方法
根据下标范围来给范围内的元素覆盖新的值,左闭右开,会改变原数组
`const arr = [1, 2, 3, 4, 5]
const newArr = arr.fill('a', 2, 4)
console.log(newArr)
Array.from()
将一个类数组对象或者可遍历对象转换成一个真正的数组
`let arrayLike = {
0:'你',
1:'我',
2:'他',
3:['闻官军','收','河南','河北'],
4:{'name':'国之不国','solgen':'家之何存'},
'length':5
}
console.log(Array.from(arrayLike));`
ES7新增
includes(val)方法看数组中是否存在某个值,返回boolean
`let arr = [10, 20, 30, 40, 50, 60, 70]
console.log( arr.includes(50) )