记录常用数组方法
const arr = [1, 2, 3]
会改变原数组的
- push 向数组尾部添加新元素并返回添加后的长度
arr.push(4) // [1, 2, 3, 4] 4
- pop 从数组尾部删除一个并返回删除的元素
arr.pop() // [1, 2] 3
- unshift 从数组头部添加新元素并返回添加后的长度
arr.unshift(-1, 0) // [-1, 0, 1, 2, 3] 5
- shift 从头部删除一个并返回删除的元素
`arr.shift() // [2, 3] 1 - reverse 翻转数组并返回翻转后的数组
`arr.reverse() // [3, 2, 1] - fill 填充数组并返回填充后的数组
- sort 对数组进行排序, 默认升序,b-a为降序
`const arr = [1, 3, 2] arr.sort() // [1, 2, 3] - splice(start, length, end) 对数组进行增删替换,如果删除返回删除的数组,否则不返回
const a = arr.splice(1, 2)
console.log(a, arr) // [2, 3] [1]
arr.splice(1, 0, 'a) // [1, 'a']
arr.splice(0, 0, 'b') // ['b', 'a']
9.copyWithin(targe, start, end) // targe复制到指定位置,start复制开始的索引位置,end停止复制的索引位置
不会改变原数组的
- concat 将参数合并成一个新数组,返回新数组
arr.concat(4, [5, 6]) // [1, 2, 3, 4, 5, 6]
- join 将数组以一个分隔符分隔成字符串
arr.join('-') // 1-2-3
- slice(start, end) 返回截取的数组,前闭后包
arr.slice(1, 2) // [2]
- 遍历的有reduce, some,every,filter等
- map会根据数据格式有不同结果
const arr1 = [{name: 'sifan'}, {age: 12}, 1, 2]
const arr2 = [1, 2, 3, 4]
const arr3 = arr1.map(item => item)
const arr4 = arr2.map(item => item)
arr3[0].name = 'yunyun'
arr4[0] = 5
console.log(arr1, arr2, arr3, arr4);
// [ { name: 'yunyun' }, { age: 12 }, 1, 2 ]
// [ { name: 'yunyun' }, { age: 12 }, 1, 2 ]
// [ 1, 2, 3, 4 ]
// [ 5, 2, 3, 4 ]
- forEach被调用的时候不会改变原数组,但是他的回调函数可能会改变