Javascript在数组中搜索以某个值开头的值



我正在寻找一种方法来搜索数组,看看是否存在以搜索词开始的值。

const array1 = ['abc','xyz'];

所以在上面搜索'abcd'将返回true。

我一直在玩包含,但这似乎只检查完整的值。此外,startsWith我不认为会工作,因为我相信检查字符串,而不是数组中的值??

您可以使用find()函数,它允许您在参数中传递一个自定义函数,该函数将对每个值进行测试。这样,您就可以按照您的意愿对数组的每个值使用startsWith()

的例子:

const array1 = ['abc','xyz'];
function findStartWith(arg) {
return array1.find(value => {
return arg.startsWith(value);
});
}
console.log(findStartWith("hello")); // undefined
console.log(findStartWith("abcd")); // abc
console.log(findStartWith("xyzz")); // xyz

如果希望返回truefalse,可检查返回值是否与undefined不一致。

function findStartWith(arg) {
return !!array1.find(value => {
return arg.startsWith(value);
}) !== undefined;
}

与布尔值相同的代码段:

const array1 = ['abc','xyz'];
function findStartWith(arg) {
return array1.find(value => {
return arg.startsWith(value);
}) !== undefined;
}
console.log(findStartWith("hello")); // false
console.log(findStartWith("abcd")); // true
console.log(findStartWith("xyzz")); // true

相关内容

  • 没有找到相关文章

最新更新