I don't see my mistake here. I want to check if one of the words (Day, Days, Hour, Hours) is included in an array of strings.
let cardAuctionRemainingTimeString = document.querySelectorAll('.time');
let arrayCardAuctionTimeRemaining = [];
for (let times = 0; times < cardAuctionRemainingTimeString.length; times++) {
let time = cardAuctionRemainingTimeString[times].textContent;
arrayCardAuctionTimeRemaining.push(time);
}
await sleep(150);
if (arrayCardAuctionTimeRemaining.includes('Hour')) {
isActive = false;
console.log('Above one hour');
} else if (arrayCardAuctionTimeRemaining.includes('Hours')) {
isActive = false;
console.log('Above one hour');
} else if (arrayCardAuctionTimeRemaining.includes('Day')) {
isActive = false;
console.log('Above one hour');
} else if (arrayCardAuctionTimeRemaining.includes('Days')) {
isActive = false;
console.log('Above one hour');
} else {
console.log('under 1 hour');
}
I am iterating over a few pages and push time information which is added as strings, into the array arrayCardAuctionTimeRemaining .
The array can contain some strings like this: ["1 Hour", "2 Days", "2 Hours"].
I want to stop iterating if the time left is more than 59 minutes basically.
But for some reason, it's not working. The code is always going into the else also if one of the words is included.
The HMLT is within a user-only section. But I upload a screen if u wish:

.timeelementsArray.includes()looks for an exact match, so if there are numbers before the text string, it would return false. I would usearrayCardAuctionTimeRemaining.includes('Hours') > -1instead and put the plurals (Days, Hours) before the singulars (Day, Hour) in your if-else statements.