乐趣区

js中会改变原数组的一些方法

splice()

splice() 用来对数组元素进行添加 / 删除操作

const a = [1,2,3,4,5,6,7]

删除元素并返回被删除的元素

a.splice(0,3) // 从 0 开始删除 3 个元素返回 [4,5,6,7]
console.log(a) //[1,2,3]
a.splice(-1,1) // 从 - 1 开始往后删除 1 个元素返回 [7]
console.log(a) //[1,2,3,4,5,6]

删除并添加元素, 添加的元素位于数组前面

a.splice(0,2,'添加的元素') // 返回 ['添加',3,4,5,6,7]

sort()

sort() 用来对数组进行排序, 参数为自定义的比较函数

const a = [1,2,3,4,5]

升序 例如 (a,b) => a-b > 0 比较函数值 > 0 说明 a > b a 排在 b 的后面

a.sort((a,b) => a-b > 0)
console.log(a) //[1,2,3,4,5]

降序 例如 (a,b) => a-b < 0 比较函数值 < 0 说明 a < b b 排在 a 的后面

a.sort((a,b) => a-b < 0)
console.log(a) //[5,4,3,2,1]

可总结为比较函数的参数中大的总是排在后面的


pop()

pop() 删除数组中的最后一位元素,并返回删除的元素

const a = [1,2,3,4]
a.pop() // 返回值为 4
console.log(a) //[1,2,3]

push()

push() 向数组末尾中添加元素,返回新数组的长度

const a = [1,2,3]
a.push(4) // 返回值为 4
console.log(a) //[1,2,3,4]

unshift()

与 shift() 相对应 向数组开始的位置添加元素,返回新数组的长度

const a = [2,3,4]
a.unshift(a) // 返回值为 4
console.log(a) //[1,2,3,4]

reverse()

reverse() 反转数组中元素的顺序

const a = [1,2,3,4,5]
a.reverse()
console.log(a) //[5,4,3,2,1]

fill()

填充数组 fill(value,start,end)
value(必选) 为要填充的元素
start(可选) 填充开始的位置
end(可选) 填充结束的位置,默认为 this.length

const a = [1,2,3,4]
a.fill(5) //[7,7,7,7]
const a = [1,2,3,4]
a.fill('a',1,2) //[1,'a',3,4]

copyWithin()

将指定位置的元素复制到其他位置,不改变原数组的长度 copyWithin(target,start,end)
target(必选) 复制后的目标在这个位置开始替换初始的元素,若复制了一个元素则从这开始往后替换一个,复制了两个则替换两个,以此类推,若值为代表倒数从后开始替换
start(可选) 开始复制的位置包括复制时包括此元素,默认为 0
end(可选) 复制结束的位置,复制时不包括此位置,默认为 this.length

const a =[1,2,3,4,5,6]
a.copyWithin(0,2,4)
console.log(a) //[3,4,3,4,5,6]
退出移动版