arrays - 如何验证数组中的每个元素是否包含打字稿/量角器中的搜索字符串
问题描述
我如何验证数组的每个元素是否包含打字稿/量角器中的搜索字符串?所有控制台语句都返回 false,因为它们正在寻找完整的文本而不是搜索字符串。请提出解决方案。
arr = [ 'Citibank, N.A.', 'Citi China Companies', 'Citibank Ireland' ]
search string = 'citi'
Then('I enter search text where the highlighted search results will include a Client Company Name {string}, {string}', async (searchText, companyName) => {
await acctmgrclientselection.deleteSearchText().then(async () => {
await acctmgrclientselection.getSelectClientSearchInputEl().sendKeys(searchText).then(async () => {
await acctmgrclientselection.getSelectClientSearchInputEl().sendKeys(protractor.Key.ENTER).then(async () => {
await dashboardFilter.getEmployeeListGrid().count().then( async ( CountVal ) => {
if(CountVal >1)
{
var strArr: Array<string> = [];
await acctmgrclientselection.getClientTblCompanyName().getText().then(async (text) => {
await strArr.push(text)
//strArr.forEach(function(value){
var sortable = [];
strArr.forEach(value => {
sortable.push([value]);
let sorted_array: Array<string> = sortable.map(arr => arr[0])
let result = sorted_array.every(element => element.includes(searchText))
console.log(result)
});
});
}
else
{
//clear criteria
console.log('clear criteria');
await element(by.cssContainingText('mat-card.empty-results.mat-card p','0 results matching your criteria')).isDisplayed().then(async()=>{
await element(by.cssContainingText('mat-card.empty-results.mat-card a','Clear Criteria')).isDisplayed();
});
}
});
});
});
});
});
解决方案
您需要使用搜索字符串检查正则表达式。
const pattern = new RegExp("Citi");
const result = sorted_array.every(element => pattern.test(element));
console.log(result);
推荐阅读
- python - 如何根据字典中的用户名和日期搜索数据框
- python - 在嵌套列表python中访问元组元素
- python - 当我调用我的函数时循环没有结束
- git - 如何在 Windows 终端中转义 ' for linux 命令?
- python - 为什么 pyfftw 中的标志“线程”不起作用
- vue.js - 数据表 vuetify 事件和渲染不适用于每页行下拉
- python - 将 OSMnx 图中的封闭线串转换为多面体
- deno - 如何检查不受信任的代码是否可以安全执行?
- flutter - Flutter Package Publish Error 说包不兼容
- amazon-web-services - Auto Scaling 组 AWS