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

发布于 2019-08-14  约 4 分钟

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]
阅读 434发布于 2019-08-14

推荐阅读
目录