![](/img/trans.png)
[英]Fastest way to check a string contain another substring in JavaScript?
[英]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")
如果str
是null
,它會檢查''
所以返回 false
如果str
存在,則返回如果字符串包含 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.