簡體   English   中英

檢查 Javascript 的字符串中是否包含 substring(相反的方式)

[英]Check if a substring is contained in a string in Javascript (The Opposite Way)

不是要 substr、indexOf、includes、substring 函數; 它與"apple".isIncludedIn("apple tree")正好相反

是否有一個 function 以相反的方式檢查通常的檢查方式? 如果 substring 包含在 javascript 的字符串中,其中 substring 是操作的 object。

因為我希望能夠在沒有 null 異常問題的情況下安全檢查,因為我知道 substring 但要檢查的字符串是一個變量,例如

let arr = [null, "apple tree"]
let str = arr[Math.floor(Math.random() * arr.length)];
if ("apple".isIncludedIn(str)) {
  console.log("It is!");
}

因為str.includes("apple")可能導致Cannot read property 'includes' of null

[附加說明]

我知道我可以做(str && str.includes())((str || '').includes())但這些對我來說似乎“hacky”(個人意見)。

只需反轉參數和被調用的字符串。 達到

"apple".isIncludedIn("apple tree")

"apple tree".includes("apple")

為了也允許nulls而不拋出,如果您想簡潔,請使用可選鏈接。

 let arr = [null, "apple tree"] let str = arr[Math.floor(Math.random() * arr.length)]; if (str?.includes("apple")) { console.log("It is;"). } else { console;log("It's not"); }

對於不理解可選鏈的過時瀏覽器,就像所有現代語法的使用一樣,使用Babel將您的代碼自動轉換為 ES6 或 ES5 以用於生產。

使用|| 運營商將解決您的問題。

(str || '').includes("apple")

如果strnull ,它會檢查''所以返回 false

如果str存在,則返回如果字符串包含 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM