javascript - 检查字符串是否以数组中的任何字符串开头
问题描述
在javascript中,如何检查字符串是否以数组中的任何字符串开头。
例如,
我有一个字符串数组,
const substrs = ['the', 'an', 'I'];
我有一个字符串
const str = 'the car';
如何检查 str 是否以 substrs 中的任何字符串开头?
解决方案
你可以使用 和 的组合,Array.prototype.some
它们String.prototype.startsWith
都是 ES6 的特性:
const substrs = ['the', 'an', 'I'];
function checkIfStringStartsWith(str, substrs) {
return substrs.some(substr => str.startsWith(substr));
}
console.log(checkIfStringStartsWith('the car', substrs)); // true
console.log(checkIfStringStartsWith('a car', substrs)); // false
console.log(checkIfStringStartsWith('i am a car', substrs)); // false
console.log(checkIfStringStartsWith('I am a car', substrs)); // true
如果您希望以不区分大小写的方式进行比较,那么您还需要将字符串转换为小写:
const substrs = ['the', 'an', 'I'];
function checkIfStringStartsWith(str, substrs) {
return substrs.some(substr => str.toLowerCase().startsWith(substr.toLowerCase()));
}
console.log(checkIfStringStartsWith('the car', substrs)); // true
console.log(checkIfStringStartsWith('a car', substrs)); // false
console.log(checkIfStringStartsWith('i am a car', substrs)); // true (case-insensitive)
console.log(checkIfStringStartsWith('I am a car', substrs)); // true
推荐阅读
- c - 如何使用 Apple 安全框架从证书中检索主题或颁发者可分辨名称?
- selenium - 在 Eclipse Selenium TestNG 中执行测试用例时出现错误
- python - 如何在机器人播放后删除 mp3 文件
- java - 在 JavaFX 中为 ButtonType 添加 css 样式
- angular - 从 ViewContainerRef 中移除组件
- php - php求和值按二维数组中的其他列分组
- c# - Blazor WASM:保护视频流 - 控制器只能由授权用户访问
- javascript - 包含 HTML 不起作用,我做错了什么?
- python - 我怎样才能使这行代码覆盖 10 乘法表中的每个数字而不编码每个数字
- node-red - 无法在嵌入节点红色中安装新节点