编写函数left(arr,n)可以让数组arr循环左移n位。js
时间: 2023-05-27 12:02:44 浏览: 101
实现如下:
```js
function left(arr, n) {
for (let i = 0; i < n; i++) {
arr.push(arr.shift());
}
return arr;
}
```
例如:
```js
const arr = [1, 2, 3, 4, 5];
const n = 2;
console.log(left(arr, n)); // [3, 4, 5, 1, 2]
```
该函数将原数组循环左移了2位。
相关问题
JS-编写函数left(arr,n)可以让数组arr循环左移n位。 例,[10,20,30,40],左移两位后结果[30,40,10,20]
function left(arr, n) {
const len = arr.length;
// 如果n大于数组长度,取模得到实际需要左移的位数
n %= len;
// 将前n个元素取出来,拼接到数组末尾
arr.push(...arr.splice(0, n));
return arr;
}
// 示例
const arr = [10, 20, 30, 40];
console.log(left(arr, 2)); // [30, 40, 10, 20]
数组元素循环左移n位函数题
好的,这是一个常见的数组操作题目,以下是一个实现此功能的示例代码:
```python
def left_rotate_array(arr, n):
"""
将数组arr中的元素循环左移n位
"""
length = len(arr)
n %= length # 如果n大于数组长度,取余数
arr[:n] = arr[:n][::-1] # 反转前n个元素
arr[n:] = arr[n:][::-1] # 反转剩下的元素
arr[:] = arr[::-1] # 反转整个数组
```
其中,`arr`为要进行操作的数组,`n`为左移的位数。代码首先对`n`进行取余,以防`n`大于数组长度。然后,将前`n`个元素反转,再将剩下的元素反转,最后将整个数组反转,即可实现左移`n`位的操作。
示例调用:
```python
arr = [1, 2, 3, 4, 5]
left_rotate_array(arr, 2)
print(arr) # 输出:[3, 4, 5, 1, 2]
```
这个函数可以将数组`[1, 2, 3, 4, 5]`左移2位,结果为`[3, 4, 5, 1, 2]`。
阅读全文