语法:array.splice(index,howmany,item1,.....,itemX)
index:
必需。规定从何处添加/删除元素。
该参数是开始插入和(或)删除的数组元素的下标,必须是数字,当index为负数时,表示从数组的倒序的第几个位置(如let arry =[1,2,3] 当index 为-1是 ,arr.splice(-1)=3)
howmany:
可选。规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, ..., itemX:
可选。要添加到数组的新元素
返回值:
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的新数组。(arr.splice()返回的值为原数组被删除的值的新数组。原数组的字发生了改变,为删除后的值)
只有一个参数时:
//只有一个参数时:
let arr =[1,2,3,4,5,6,7]
//当index为正整数时
let newarr= arr.splice(1)
console.log(newarr)//[2,3,4,5,6,7]
console.log(arr)//[1]
//当index为负数时
let arr2 =[1,2,3,4,5,6,7]
let newarr2 =arr2.splice(-1)
console.log(newarr2,arr2) //[7],[1,2,3,4,5,6]
含有两个参数时:
let arr =[1,2,3,4,5,6,7]
//当index为正整数时
let temp =arr.splice(1,1)
console.log(temp,arr)//[2],[1,3,4,5,6,7]
含有3个参数时:
let arr =[1,2,3,4,5,6,7]
//当index为正整数时
let temp =arr.splice(1,1,1)
console.log(temp,arr)//[2],[1,'1',3,4,5,6,7]
力扣旋转数组例题
给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数
输入: nums = [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右轮转 1 步: [7,1,2,3,4,5,6]
向右轮转 2 步: [6,7,1,2,3,4,5]
向右轮转 3 步: [5,6,7,1,2,3,4]
作者:力扣 (LeetCode)
链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/x2skh7/
来源:力扣(LeetCode)
var rotate = function(nums, k) {
k = k % nums.length;
let temp = nums.splice(-k,);
nums.splice(0, 0, ...temp)
};