var names = ["abc", "cba", "nba", "dna"]
// slice只要给它传入一个start/end, 那么对于同一个数组来说, 它会给我们返回确定的值
// slice函数本身它是不会修改原来的数组
// slice -> this
// slice函数本身就是一个纯函数 给定确定的输入会产生确定的输出,并且没有产生副作用
var newNames1 = names.slice(0, 3)// ["abc", "cba", "nba"]不包含第三个[0,3)相当于一个半开半闭区间
console.log(newNames1)
console.log(names)
// ["abc", "cba", "nba", "dna"]
// splice在执行时, 有修改掉调用的数组对象本身, 修改的这个操作就是产生的副作用
// splice不是一个纯函数
var newNames2 = names.splice(2)//["nba", "dna"]
console.log(newNames2)
console.log(names)//["abc", "cba"]原数组被修改掉了
js中的slice和splice简介
最新推荐文章于 2024-03-28 21:14:51 发布