gpt4 book ai didi

javascript - 如何正确使用JS包含

转载 作者:行者123 更新时间:2023-11-28 16:43:30 25 4
gpt4 key购买 nike

我有以下脚本,我有一个数组,我需要过滤特定的关键字,在本例中 GitHub,代码结果为 false,而我需要调整它以返回 true .

我做错了什么?如何解决?

const array1 = ["[GitHub](https://github.com/xxx", 2, 3];

console.log(array1.includes('GitHub'));

最佳答案

正如评论的那样,.includes 不是预期的功能。它进行精确搜索,而您正在寻找部分搜索。

数组.some + String.includes

正如@Nick Parsons正确指出的那样,由于数字没有 .includes,我们必须将其转换为字符串。

just a heads up, with the first snippet, if a number appears before a valid match it will throw an error.

const array1 = [5, "[GitHub](https://github.com/xxx", 2, 3];

console.log(array1.some((str) => str.toString().includes('GitHub')));

<小时/>

字符串.includes

如果数组中有原始值,可以直接使用string.includes

正如 @Max 评论的

"partial search" is rather misleading term. Search by predicate is what it really is

const array1 = ["[GitHub](https://github.com/xxx", 2, 3];

console.log(array1.join().includes('GitHub'));

请注意,sytring.includes 是区分大小写的函数,如果大小写不匹配将会失败。

如果您希望进行不区分大小写的搜索,请将两个字符串值转换为相同的大小写或使用正则表达式

const array1 = ["[GitHub](https://github.com/xxx", 2, 3];

function test(str) {
const regex = new RegExp(str, 'i')
console.log(regex.test(array1.join()));
}

test('GitHub')
test('git')
test('hub')

关于javascript - 如何正确使用JS包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60847749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com