Published
Edited
Aug 29, 2020
Importers
7 stars
Insert cell
Insert cell
rotate = {
const temp = [];
return function rotate (array, k = 1) {
const n = array.length;
if (k > 0) {
for (let i = k-1; i >= 0; i--) temp[i] = array[i];
for (let i = k; i < n; i++) array[i-k] = array[i];
for (let i = 1; i <= k; i++) array[n-i] = temp[k-i];
}
else if (k < 0) {
for (let i = -k-1; i >= 0; i--) temp[i] = array[n+k+i];
for (let i = n + k - 1; i >= 0; i--) array[i-k] = array[i];
for (let i = 0; i < -k; i++) array[i] = temp[i];
}
return array;
}
}
Insert cell
Insert cell
array = Array.from({length: 20}, (_, i) => i)
Insert cell
rotate(array.slice(), 1)
Insert cell
rotate(array.slice(), -1)
Insert cell
rotate(array.slice(), 0)
Insert cell
rotate(array.slice(), 7)
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more