Javascript 找到给定字符串的数组匹配元素的最佳方法
我试图找出数组中与给定字符串匹配的元素Javascript 找到给定字符串的数组匹配元素的最佳方法,javascript,node.js,Javascript,Node.js,我试图找出数组中与给定字符串匹配的元素 var array = ["CODE1", "CODE2", "CODE3", "CODE4", "CODE5", "CODE6"]; var text = "alsdjklfjaaCODE2ladkslfj"; var resultCode; for (var i in array) { if (text.indexOf(array[i]) > -1) { resultCode = array[i]; } } c
var array = ["CODE1", "CODE2", "CODE3", "CODE4", "CODE5", "CODE6"];
var text = "alsdjklfjaaCODE2ladkslfj";
var resultCode;
for (var i in array) {
if (text.indexOf(array[i]) > -1) {
resultCode = array[i];
}
}
console.log(resultCode);
但我觉得遍历数组不是一种有效的方法,因为那个数组有点大。我的问题有没有其他的算法。你可以使用
some()
方法测试数组中的某个元素是否通过了所提供函数实现的测试
如果您希望字符串中只有一个匹配项。如果回调返回true
,则迭代停止
var数组=[“代码1”、“代码2”、“代码3”、“代码4”、“代码5”、“代码6”],
text=“alsdjklfjaaCODE2ladkslfj”,
结果编码;
array.some(函数(a){
if(~text.indexOf(a)){
结果代码=a;
返回true;
}
});
文件。写入(结果代码)代码>您可以使用
some()
方法测试数组中的某个元素是否通过了所提供函数实现的测试
如果您希望字符串中只有一个匹配项。如果回调返回true
,则迭代停止
var数组=[“代码1”、“代码2”、“代码3”、“代码4”、“代码5”、“代码6”],
text=“alsdjklfjaaCODE2ladkslfj”,
结果编码;
array.some(函数(a){
if(~text.indexOf(a)){
结果代码=a;
返回true;
}
});
文件。写入(结果代码)代码>从ES6开始,您可以使用和
var数组=[“代码1”、“代码2”、“代码3”、“代码4”、“代码5”、“代码6”],
text=“alsdjklfjaaCODE2ladkslfj”;
var resultCode=array.find(a=>text.includes(a));
文件。写入(结果代码)代码>从ES6开始,您可以使用和
var数组=[“代码1”、“代码2”、“代码3”、“代码4”、“代码5”、“代码6”],
text=“alsdjklfjaaCODE2ladkslfj”;
var resultCode=array.find(a=>text.includes(a));
文件。写入(结果代码)代码>最佳匹配元素是什么意思?现在我编辑了这个问题。最佳匹配元素是什么意思?现在我编辑了这个问题。因为它是ES6,array.find(a=>text.includes(a))代码>@BenFortune,嗯,不错的一个!:-)谢谢你的提示!因为它是ES6,array.find(a=>text.includes(a))代码>@BenFortune,嗯,不错的一个!:-)谢谢你的提示!