How to splice an element to the start of an array?
本问题已经有最佳答案,请猛点这里访问。
我不熟悉JavaScript,我正在尝试创建一个函数,它根据num==to的次数旋转数组。所以如果
这是迄今为止我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 | var count = 0; function rotate(arr, num) { while (count < num) { arr.splice(0,0,"Tina"); arr.pop(); count++ } return arr } console.log(rotate(["Harry","Sarah","Oscar","Tina"], 2)); |
对于这一行-
编辑:此问题与其他问题不同。我不想要一个完整的旋转解决方案,我只想知道是否可以将第四个元素拼接到开始?
尝试在
1 2 3 4 5 6 7 8 9 10 11 | function rotate(arr, num){ for(var i = 0; i < num; i++){ item = arr[arr.length-1] arr.splice(arr.length-1, 1); arr.unshift(item) } return arr } alert(JSON.stringify(rotate(["Harry","Sarah","Oscar","Tina"], 2))); alert(JSON.stringify(rotate(["Harry","Sarah","Oscar","Tina"], 1))); |
你不需要一个循环。首先将最后一个
1 2 3 4 5 6 | function rotate(arr, num) { var lastN = arr.splice(-num, num); [].splice.apply(arr, [0, 0].concat(lastN)); return arr; } document.getElementById("result").innerHTML = JSON.stringify(rotate(["Harry","Sarah","Oscar","Tina"], 2)); |
1 |