Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找到给定字符串的数组匹配元素的最佳方法_Javascript_Node.js - Fatal编程技术网

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,嗯,不错的一个!:-)谢谢你的提示!