首页 > 解决方案 > 如何检查字符串(当前 URL)是否包含一些子字符串

问题描述

我需要检查当前 URL 是否包含一些子字符串。我的代码有效,但如果可以让它变得更好,我需要一个提示。我意识到复制代码不是一个好习惯。我正在使用 Angular 6/Typescript/ECMAScript 6。

const currentUrl = this.location.path();
const displayTile = currentUrl.includes('/search-resources') || currentUrl.includes('/calendar') || currentUrl.includes('/yearbooks')? 1 : 2;

标签: angularstringecmascript-6

解决方案


您的代码很好,如果您想减少检查的长度,请将子字符串放在数组中。喜欢:

var substrings = ['/search-resources', '/calendar', '/yearbooks']

使用以下方法测试您的状况:

const displayTile = substrings.some((e) => currentUrl.includes(e)) ? 1 : 2

Array.some()

some() 方法测试数组中的至少一个元素是否通过了提供的函数实现的测试。


推荐阅读