I was helping a user over at sanity.io yesterday doing some content migration, where they wanted to take the last element of an array and put it in...
For further actions, you may consider blocking this person and/or reporting abuse
Why not use a really simple solution with plain ES5?
I mean it would be ES5 if
constwasvar. 😂Anyway, I like how concise it is. Three lines of code sure does look more satisfying than whatever I did, despite their similarities.
I agree this is readable.
If you handed this to a new developer and asked them what it did they might be lost for a little while.
Also, that would change the original array, which is not the intended functionality.
Good point, you'd have to do something like
which is even more convoluted.
How about
const lastToFirst = _ => ($ => [$.pop(), ...$])(_.slice())as even more convoluted example?I think this will do just fine.
I would go for
or
ES6 FTW!
Probably that array is not going to be accessed using the index, it looks like an unordered collection.
If this is true you need a linked list not an array, making the move operation 2N more efficient and resulting in a simpler code.
Great point! Array Data Structures aren't very efficient at arbitrarily inserting or plucking (even though JS provides convenient shift/deshift methods.)
With this small of a dataset it doesn't matter, but it's a great point. :)
I very much like the plain ES5 solution by @lexlohr . Here's another, more generic version that lets you rotate an array by a variable number of positions:
Everyone is talking about your code, and I'm stuck appreciating this beautiful gem:
Thank you for noticing!