在数组中搜索匹配项



我目前正在编写一个简单的程序,我需要查看输入的输入字符串是否也在数组中。

简单点如果一个人输入"Ai",我希望程序显示数组中包含字母"Ai"的所有内容。结果将是'Airplane', 'Air', 'Airport', 'Airfield'等。

谁知道这是如何可能使快速和简单?

假设您正在处理一个包含所有字符串的数组,那么类似于这些函数的东西应该可以工作:

// 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));
输出:

正确的假假假

最新更新