一、方法介绍
方法名 | 说明 | 返回值 |
concat() | 连接两个或多个数组,不影响原数组 | 返回一个新的数组 |
slice() | 数组复制slice(begin、end) | 返回被截取项目的新数组,不影原数组 |
splice() | 数组删除splice(第几个开始,要删除个数) | 返回被删除项目的新数组,这个会影响原数组 |
二、concat使用(合并)
<script>
let arr=[1,2,3]
let arr1=[4,5,6]
let arr2=arr.concat(arr1)
</script>
三、slice的使用
<script>
let y=[1,2,3,4,5,6,7,8]
console.log(y)
console.log(y.slice(1)) //从索引为1的元素开始,往后所有元素复制
console.log(y.slice(-2)) //倒着数索引的元素开始,往后所有元素
console.log(y.slice(1,3)) //从索引为1到索引为3的元素复制下来
console.log(y.slice(-3)) //负数的索引不从0开始
console.log(y.slice(-3,-2)) //从倒着的索引开始复制
</script>
注意事项
slice(1,2)是一个左闭右开的区间,取到1,不取2.
slice(-2)表示从数组后面往前数第二个元素,因为负索引不从0开始
slice(3)表示从索引为3的元素开始,后面所有元素
slice(-3,-2)之中第一个数一定要比第二个数小。值不能取(-3,1)这样就一个也取不到
四 、splice的使用
<script>
let arr=['张三','李四','王五','赵六','孙七','周八','吴九','郑十']
console.log(arr.splice(5,1,'小明'))
console.log(arr)
console.log(arr.splice(5,1,"小红","小黑"))
console.log(arr)
console.log(arr.splice(5,2))
console.log(arr)
console.log(arr.splice(1))
console.log(arr)
let arr=['张三','李四','王五','赵六','孙七','周八','吴九','郑十']
console.log(arr.splice(2,0,"你好"))
console.log(arr)
arr.splice(-1,1,"我在这")
console.log(arr)
</script>
注释
console.log(arr.splice(5,1,'小明'))以原数组索引为5的元素开始,往后删除1个元素,并添加一个"小明"的元素
console.log(arr.splice(5,1,"小红","小黑"))以5开始,往后删除一个元素,添加两个元素
console.log(arr.splice(5,2))以5开始,删除两个元素
console.log(arr.splice(1))以1开始,删除后面所有元素console.log(arr.splice(2,0,"你好")以2开始,不删除任何元素,添加一个元素在索引为2的元素前面。
当索引为负数时,从后往前从1开始数。
总结
splice()有返回值,返回本次操作删除的元素
索引为负数时,从后往前不计算0开始数
当不删除任何元素,只添加时,是在索引的前面添加
当参数只有一个时,表示从这个索引元素往后所有元素全部删除