slice
let arr = [10,20,30,40,50,60];
arr.slice(0) [10,20,30,40,50,60]
arr.slice(1,3) [20,30] 不包括末尾
splice
三个参数
索引、要删除的个数、要添加的东西
let arr = [10,20,30,40,50,60];
arr.splice( 1,3 ) [20,30,40]
arr.splice( 1,0,11 ) [10,11,20,30,40,50,60]
filter
let arr = [10,20,30,40,50,60];
let r = arr.filter( (item) => {
console.log( item ) [10,20,30,40,50,60]
return item > 30
} )
console.log( r ) [40,50,60]
map(必须有return)
let arr = [10,20,30,40,50,60];
let v = arr.map((item, index) => {
console.log(item) 10,20,30,40,50,60
console.log(index) 0 1 2 3 4 5
return item * 2
})
console.log(v) [20,40,60,80,100,120]
等价于
arr.map( (item, index) => {
return item *2
} )
只包含一个表达式,花括号和return可以省略
等价于
arr.map( (item, index) => item * 2 )
forEach(不需要有return)
let arr = [10,20,30,40,50,60];
arr.forEach( (item,index) => {
console.log( item ) 10,20,30,40,50,60
console.log( index ) 0,1,2,3,4,5
} )
reduce
求和
let arr = [10,20,30,40,50,60];
let v = arr.reduce( (prev,cur) => {
return prev + cur
} )
console.log( v ) 210