Code 85

Plain language programming tutorials for non-developers

Member-only story

Replace Equality Expressions with indexOf() in JavaScript

Jonathan Hsu
Code 85
Published in
2 min readFeb 11, 2022

--

Photo by Chase Clark on Unsplash

Let’s put ourselves in a fictitious scenario where a message prints only during the hours of 8AM, 10AM, and 2PM. The code block might look something like this…

const d = new Date();
const hour = d.getHours() + 1;
if(hour === 8 || hour === 10 || hour === 14) {
console.log("true condition");
}

It’s simple and straightforward, but can get ugly fast. Especially when the variable name or comparison value is longer.

When the overall expression is nothing more than a series of equality checks, piling all the affirmative values into an array and using indexOf() provides cleaner code that is easier to both read and maintain.

Let’s refactor our code using the indexOf() strategy…

const d = new Date();
const hour = d.getHours() + 1;
if([8,10,14].indexOf(hour) >= 0) {
console.log("true condition");
}

That’s so much easier to read as long as the reader is familiar with indexOf()!

If you are not familiar with indexOf(), it is a method of both the Array and String class which is a fancy way of saying it comes pre-installed for arrays and strings. If…

--

--

Code 85
Code 85

Published in Code 85

Plain language programming tutorials for non-developers