Endtest

Endtest

›All blog posts

All blog posts

  • 5 Myths About Codeless Automation
  • No-code test automation
  • Selenium vs Cypress
  • Endtest vs Ghost Inspector
  • Puppeteer vs Selenium
  • A Practical Guide for Finding Elements with Selenium
  • 8 Extremely Useful HTML Tricks
  • 8 Extremely Powerful JavaScript Hacks
  • Endtest vs Sauce Labs
  • Endtest vs BrowserStack
  • 10 Ways To Improve Your Automated Tests

8 Extremely Powerful JavaScript Hacks

July 31, 2020

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.

Recent posts
  • 1. Replace All
  • 2. Extract Unique Values
  • 3. Convert number to string
  • 4. Convert string to number
  • 5. Shuffle elements from array
  • 6. Flatten multidimensional array
  • 7. Short Circuit Conditionals
  • 8. Dynamic Property Names
  • Conclusion
Copyright © 2020 Endtest