push() 可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度
pop() 从数组末尾移除最后一项,返回移除的项
shif() 移除数组之后的第一项并返回该项,同时数组的长度减一
unshift() 在数组前端添加任意个项并返回新数组的长度
reverse() 反转数组项的顺序,返回值是排序之后的数组
sort() 给数组中的项排序,可以接收一个比较函数作为参数,返回值是排序之后的数组
concat()
用于多个数组的合并,返回新数组,原数组不变。
slice()
提取目标数组的一部分,返回一个新数组,原数组不变。
arr.slice(start,end)(从start开始,不包括end,如果省略第二个参数,则一直到目标数组的末尾)
splice()
删除,替换,插入,返回一个数组,该数组包含从原始数组中删除的项(如果没有删除,则返回空数组)。
删除:指定两个参数,起始项的位置和删除的项数。
替换:3个参数,起始项的位置,要删除的项数,要插入的任意数量的项。
插入:3各参数,起始项的位置,0(要删除的项数),要插入的任意数量的项
var a=[1,2,3,4,5,6,7,8]
a.splice(6) //返回[7,8];a为[1,2,3,4,5,6]
a.splice(1,3)//返回[2,3,4];a为[1,5,6]
indexOf() 接收两个参数,要查找的项和查找起点位置的索引,第二个参数可选。从数组开头往后开始查找
lastIndexOf() 接收两个参数,要查找的项和查找起点位置的索引,第二个参数可选。从数组开头往前开始查找
every() 对数组中的每一项运行给定函数,如果对该函数每一项都返回true,,则返回true
filter() 对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
forEach() 对数组中每一项运行给定函数,不返回值
map()
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组,原数组不变
疑问,为啥改变数组中的对象时,原数组变了????
var a =[{name:"jack"}]
a.map((item,index)=>{
item.key=index
}
)//a=[{name:"jack",key:0}}
some() 对数组中的每一项运行给定函数,如果该函数对任意一项返回true,则返回true
reduce()
reduceRight()
数组浅拷贝
1.slice
var b=a.slice()
2.concat
var b=a.concat()
3.ES6解构赋值
var b=[...a]
网友评论