gpt4 book ai didi

javascript - 如何在 javascript 集中执行不区分大小写的查找?

转载 作者:行者123 更新时间:2023-11-30 09:15:27 24 4
gpt4 key购买 nike

如何在 javascript 的 set 中执行不区分大小写的查找?

我遇到这样一种情况,我有一组允许的字符串,但不能确保它们属于哪种情况。我需要根据该组验证用户输入。我怎样才能做到这一点?

const countries = new Set();
countries.add("USA");
countries.add("japan");

// returns false, but is there any way I could get
//`my set to ignore case and return true?`
console.log(countries.has("usa"));

console.log(countries.has("USA"));

最佳答案

在添加字符串之前或执行 .has 检查之前,请始终在字符串上调用 .toLowerCase。当然,您也可以将其抽象为一个类(如果确实有必要的话):

 class CaseInsensitiveSet extends Set {
constructor(values) {
super(Array.from(values, it => it.toLowerCase()));
}

add(str) {
return super.add(str.toLowerCase());
}

has(str) {
return super.has(str.toLowerCase());
}

delete(str) {
return super.delete(str.toLowerCase());
}
}

const countries = new CaseInsensitiveSet([
"Usa",
]);

console.log(countries.has("usa")); // true

关于javascript - 如何在 javascript 集中执行不区分大小写的查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458947/

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