Вращение массива в JS

Здравствуйте, ребята, сегодня я покажу вам, как вращать левый 1-мерный массив в JS.
Вращение будет зависеть от входных данных, например, 2 означает вращение.
Операция поворота влево массива размера n сдвигает каждый из элементов массива на 1 единицу влево.

Давайте начнем…

function rotateLeft(d, arr) {
    // Write your code here
    let newArray = []
    if(d > arr.length){
      return "Rotation value cannot be bigger than array length"
    }
    else{
      for(let i=0;i<d;i++){
        newArray.push(arr.shift(i))
      }

      let rotated = arr.concat(newArray)
      return rotated
    }

}

let array = [1,2,3,4,5,6]
let rotation = 2
console.log(rotateLeft(rotation,array))
Вход в полноэкранный режим Выход из полноэкранного режима

Выход —

[ 3, 4, 5, 6, 1, 2 ]
Вход в полноэкранный режим Выход из полноэкранного режима

Работа

  • Внутри функции мы создали пустой массив, в котором будут храниться элементы после поворота.
  • После этого мы задаем условие, в котором проверяем, превышает ли число оборотов длину массива или нет.
  • В части else мы использовали цикл for до количества оборотов (исключение, то есть если значение оборота равно 4, то цикл for будет выполняться от 0-3).
  • Внутри цикла мы удалили элемент из начального до значения вращения — 1 (так как индекс массива начинается с 0), а затем поместили эти удаленные элементы в созданный нами пустой массив.
  • В итоге мы объединили исходный массив с массивом, содержащим удаленные элементы, которые появятся в конце.

Если у вас есть лучший подход или решение для этого кода, пожалуйста, укажите его в разделе комментариев.

СПАСИБО, ЧТО ПРОВЕРИЛИ ЭТОТ ПОСТ
Вы можете помочь мне, сделав пожертвование по ссылке ниже Спасибо👇👇👇 ^^
☕ —> https://www.buymeacoffee.com/waaduheck <—.

Также проверьте эти посты
https://dev.to/shubhamtiwari909/javascript-map-with-filter-2jgo

https://dev.to/shubhamtiwari909/e-quotes-3bng

https://dev.to/shubhamtiwari909/deploy-react-app-on-netlify-kl

Оцените статью
devanswers.ru
Добавить комментарий