我在這里看不到我的錯誤。我想檢查字串陣列中是否包含其中一個詞(Day、Days、Hour、Hours)。
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');
}
我正在迭代幾頁并將作為字串添加的時間資訊推送到陣列中arrayCardAuctionTimeRemaining 。該陣列可以包含一些字串這樣的:["1 Hour", "2 Days", "2 Hours"]。
如果剩下的時間基本上超過 59 分鐘,我想停止迭代。但由于某種原因,它不起作用。else如果包含其中一個詞,則代碼總是進入也。
HMLT 位于僅供用戶使用的部分。但如果你愿意,我會上傳一個螢屏:

uj5u.com熱心網友回復:
Includes 檢查陣列是否包含您正在查找的確切字串。所以你需要遍歷陣列的每個元素并檢查
由于 if 塊的內部是相同的,因此您可以一次性檢查天和小時
let isActive = true;
arrayCardAuctionTimeRemaining.some(str => {
if(str.match(/Hour|Day/)){
console.log(Above one hour)
isActive = false
return true
}
})
if(isActive) console.log('under 1 hour');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/341345.html
