js常见对数组操作

发布于 2020-07-30  1061 次阅读


// array 操作

//不改变原数组
['a', 'b'].concat(['c'])//[ 'a', 'b', 'c' ]
['a', 'b'].join('-')//'a-b'
['a', 'b'].slice(1)//['b','c']
['a', 'b', 'b'].indexof('b')//1
['a', 'b'].lastIndexof('b')//2
[1, 2, 3].map(x => x * 2)//[2,4,6]
[1, 2, 3].reduce((x, y) => x * y)//6
[1, 2, 3].filter(x => x < 2)//[1]
[1, 2, 3].every(x => x < 2)//false
[1, 2, 3].some(x => x < 2)//true

//改变原数组且返回值与改变后的原数组相同
[1, 3, 2].sort()//[1,2,3]

//改变原数组没有返回值
[1, 2, 3].reverse()//[3,2,1]

//改变原数组且有返回值
const arr = [1, 2, 3]
const x = arr.shift() // arr=[2,3],x=1
const x = arr.unshift(9)// arr=[9,2,3],x=3
const x = arr.pop()// arr=[9,2],x=3
const x = arr.push(5)// arr=[9,2,5],x=3
const x = arr.splice(1, 2, 'z')// arr=[9,2,'z'],x=[3]