【问题标题】:Search matches in array在数组中搜索匹配项
【发布时间】:2021-11-16 21:58:21
【问题描述】:
我目前正在编写一个简单的程序,我需要查看输入的输入字符串是否也在数组中。
为了简单起见
如果一个人键入“Ai”,我希望程序显示数组中包含字母“Ai”的所有内容。结果将是“飞机”、“空气”、“机场”、“机场”等。
有谁知道如何快速简单地做到这一点?
【问题讨论】:
标签:
arrays
angular
string
typescript
【解决方案1】:
假设您正在处理一个包含所有字符串的数组,那么这些函数应该可以工作:
// Check if any string in an array contains "str" as a substring.
function findStringThatContainsString(array: string[],str: string)
{
let filteredArray = array.filter(x => x.includes(str));
return filteredArray.length > 0;
}
// Check if any string in an array starts with "str."
function findStringThatStartsWithString(array: string[],str: string)
{
let filteredArray = array.filter(x => x.startsWith(str));
return filteredArray.length >0;
}
测试程序:
let testString: string = "air";
let arr1 = ["corsair","stenographer"];
let arr2 = ["hey","no"];
function findStringThatContainsString(array: string[],str: string)
{
let filteredArray = array.filter(x => x.includes(str));
return filteredArray.length > 0;
}
function findStringThatStartsWithString(array: string[],str: string)
{
let filteredArray = array.filter(x => x.startsWith(str));
return filteredArray.length >0;
}
console.log(findStringThatContainsString(arr1,testString));
console.log(findStringThatContainsString(arr2,testString));
console.log(findStringThatStartsWithString(arr1,testString));
console.log(findStringThatStartsWithString(arr2,testString));
输出:
真
错误的
错误的
假的