8 Extremely Powerful JavaScript Hacks
I love to be efficient.
But users don't care about my optimized code if the site isn't working in their Internet Explorer 11 browser.
You can use Endtest to build automated tests and execute them on the cross-browser cloud.
Below are 8 extremely powerful JavaScript hacks.
1. Replace All
We know that the string.replace() function replaces only the first occurrence.
You can replace all the occurrences by adding /g at the end of the regex.
var example = "potato potato";
console.log(example.replace(/pot/, "tom"));
// "tomato potato"
console.log(example.replace(/pot/g, "tom"));
// "tomato tomato"
2. Extract Unique Values
We can create a new array only with the unique values by using the Set object and the Spread operator.
var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
var unique_entries = [...new Set(entries)];
console.log(unique_entries);
// [1, 2, 3, 4, 5, 6, 7, 8]
3. Convert number to string
We just have to use the concatenation operator with an empty set of quotation marks.
var converted_number = 5 + "";
console.log(converted_number);
// 5
console.log(typeof converted_number);
// string
4. Convert string to number
All we need is the + operator.
Be careful with this one since it only works with 'string numbers'.
the_string = "123";
console.log(+the_string);
// 123
the_string = "hello";
console.log(+the_string);
// NaN
5. Shuffle elements from array
Every day I'm shufflin'
var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(my_list.sort(function() {
return Math.random() - 0.5
}));
// [4, 8, 2, 9, 1, 3, 6, 5, 7]
6. Flatten multidimensional array
Simply by using the Spread operator.
var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries);
// [1, 2, 5, 6, 7, 9]
7. Short Circuit Conditionals
Let's take this example:
if (available) {
addToCart();
}
And shorten it by simply using the variable together with the function:
available && addToCart()
8. Dynamic Property Names
I always thought that I first had to declare an object before being able to assign a dynamic property.
const dynamic = 'flavour';
var item = {
name: 'Coke',
[dynamic]: 'Cherry'
}
console.log(item);
// { name: "Coke", flavour: "Cherry" }
Conclusion
I think it's really cool that you're looking for JavaScript hacks, but are you sure your Web Application is working correctly on all browsers and devices?
You can use Endtest to quickly create Automated Tests and execute them on the cross-browser cloud.
You don't even have to code in order to use it.
Check out the docs.