DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for Killer JavaScript One Liners
Shshank
Shshank

Posted on

Killer JavaScript One Liners

Some useful JavaScript One-Liners

After a good response from the community, I decided to post some few more JavaScript one liners, that might help you a lot. I have posted a link to my previous article of Some useful JavaScript One Liners

Clear All Cookies

const clearCookies = document.cookie.split(';').forEach((cookie) => (document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`)));
Enter fullscreen mode Exit fullscreen mode

Reverse a String

You can reverse a string in one line using split, join and reverse methods.

const strReverse = str => str.split('').reverse().join('');
strReverse('Shshank');
// knahshS
Enter fullscreen mode Exit fullscreen mode

Generate a Random Hex

This method generates a random hex code using Math.random() and padEnd().

const hexClr = () => '#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0');
console.log(hexClr());
Enter fullscreen mode Exit fullscreen mode

Capitalise a String

Javascript doesn't have an inbuilt capitalise function, so we can use the following code of the purpose.

let str = 'follow Shshank for amazing posts';
let capStr = str.replace(/\w\S*/g, (w) => (w.replace(/^\w/, (c) => c.toUpperCase())));
console.log(capStr);
Enter fullscreen mode Exit fullscreen mode

Copy to Clipboard

Easily copy any text to clipboard using navigator.clipboard.writeText.

const copy = (text) => navigator.clipboard.writeText(text);
copy('Shshank');
Enter fullscreen mode Exit fullscreen mode

Hope you like this post. If you find this post useful, please like and share with fellow developers. Follow me for more such posts.

Thank you.

Top comments (18)

Collapse
 
frankwisniewski profile image
Frank Wisniewski

seen 1000 times and wrong 1000 times...

const str = 'Hello 😊 World';
const reversedStr = str.split('').reverse().join('');
console.log(reversedStr); // 'dlroW οΏ½οΏ½ olleH'
Enter fullscreen mode Exit fullscreen mode
Collapse
 
ecyrbe profile image
ecyrbe

You should then post the right one :

const str = 'Hello 😊 World';
const reversedStr = [...str].reverse().join('');
console.log(reversedStr); // 'dlroW 😊 olleH'
Enter fullscreen mode Exit fullscreen mode
Collapse
 
lukeshiru profile image
Luke Shiru
const str = "That πŸ§‘πŸ»β€πŸ’» isn't the right one either";
const reversedStr = [...str].reverse().join("");
console.log(reversedStr); // "rehtie eno thgir eht t'nsi πŸ’»β€πŸ»πŸ§‘ tahT"
Enter fullscreen mode Exit fullscreen mode

If you want to use something that will actually work, you should use Intl.Segmenter:

const unicodeReverse = string =>
    [...new Intl.Segmenter().segment(string)]
        .map(({ segment }) => segment)
        .reverse()
        .join("");

unicodeReverse("πŸ‘¨πŸ»β€πŸ’» hello"); // olleh πŸ‘¨πŸ»β€πŸ’»
Enter fullscreen mode Exit fullscreen mode

Cheers!

Thread Thread
 
adam_cyclones profile image
Adam Crockett

You could also hard code the string backwards πŸ˜‰

const string = "olleh"
Enter fullscreen mode Exit fullscreen mode

That's the efficiency of build time.

Nice one Luke

Thread Thread
 
jankapunkt profile image
Jan KΓΌster

Luke you should make this comment a new article do we can bookmark it πŸ™ƒ

Thread Thread
 
adam_cyclones profile image
Adam Crockett

Oh man an article on hard coding strings where could that lead πŸ€ͺ

Thread Thread
 
bias profile image
Tobias Nickel

at least it does not lead to a configuration or environment variable called empty_string.

Thread Thread
 
adam_cyclones profile image
Adam Crockett

I don't know what that is πŸ‘

Collapse
 
frankwisniewski profile image
Frank Wisniewski

You too ....

Thread Thread
 
ecyrbe profile image
ecyrbe

You made a critique without even trying to help. That was my point.
If you have knowledge, you should share it.

Thanks Luke for taking the time to add a fool proof version.

Thread Thread
 
frankwisniewski profile image
Frank Wisniewski

this has been chewed through here so many times, a simple search is enough... dev.to/ianfelix/how-to-invert-a-st...

Collapse
 
joolsmcfly profile image
Julien Dephix • Edited on

Clear all cookies is more of a tiny program than a one-liner ;)

To capitalise a string you could use the same technique as to reverse a string.

const upper = s.split("").map(n => n.toUpperCase()).join('');
Enter fullscreen mode Exit fullscreen mode

I find it easier to read / understand than two replace.
Hope this helps.

Collapse
 
frankwisniewski profile image
Frank Wisniewski • Edited on

you have to understand the task...

s='this is a mistake';
const upper = s.split("").map(n => n.toUpperCase()).join('');
console.log(upper === s.toUpperCase()) // true
Enter fullscreen mode Exit fullscreen mode
Collapse
 
joolsmcfly profile image
Julien Dephix

Ha, my bad! I read too quickly.

I guess I should not be reading code on my phone at 11pm. πŸ˜“

Collapse
 
jonrandy profile image
Jon Randy • Edited on

Your random hex function has a number of problems. For starters, it will never return #ffffff. Also there are many other values it will never return as you're using padEnd instead of padStart

Collapse
 
jonrandy profile image
Jon Randy • Edited on
const hexClr = ()=>'#'+(~~(Math.random()*8**8)).toString(16).padStart(6,0)
Enter fullscreen mode Exit fullscreen mode
Collapse
 
fernaned profile image
Fernando Ed

I personally use this to capitalize:
str[0].toUpperCase() + str.substr(1)

Collapse
 
prajyu profile image
prajyu

How about adding another one liner
To remove duplicate values

const uniqueValues= (arr) => [...new Set(arr)];
Enter fullscreen mode Exit fullscreen mode

🌚 Life is too short to browse without dark mode