Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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_Jquery - Fatal编程技术网

Javascript 如何确定某个字符串是否在列表中

Javascript 如何确定某个字符串是否在列表中,javascript,jquery,Javascript,Jquery,我想要的是确定文本是否与上面类似的name\u列表中的name完全匹配 我读过,但这不是我真正需要的 我该怎么做 我不在乎解决方案从何而来。javascript或jQuery都可以 你能解决这个问题吗 编辑: 谢谢大家,这里有很多答案,我已经测试过了 但是我想我必须对我的问题做更多的解释 您必须检查以下内容: var name_list = ['Annie','John','Lyam','Mary'] var text_be_checked_1 = 'Annie' do_some_stuff(

我想要的是确定文本是否与上面类似的
name\u列表中的name完全匹配

我读过,但这不是我真正需要的

我该怎么做

我不在乎解决方案从何而来。javascript或jQuery都可以

你能解决这个问题吗

编辑:

谢谢大家,这里有很多答案,我已经测试过了

但是我想我必须对我的问题做更多的解释

您必须检查以下内容:

var name_list = ['Annie','John','Lyam','Mary']

var text_be_checked_1 = 'Annie'
do_some_stuff(name_list, text_be_checked_1) // true

var text_be_checked_2 = 'Ann'
do_some_stuff(name_list, text_be_checked_2) // false

var text_be_checked_3 = '1Annie'
do_some_stuff(name_list, text_be_checked_3) // true

var text_be_checked_4 = 'An2nie'
do_some_stuff(name_list, text_be_checked_4) // false

var text_be_checked_5 = 'Anni_John'
do_some_stuff(name_list, text_be_checked_5) // true
作为你的答案,从
Mango
可以返回true,但
1Mango
Mango\u to
返回false

这就是重点,我想要的是
1Mango
Mango\u to
也返回true

如果这个解释还不够,请评论我

var name_list = ['Annie','John','Lyam','Mary']

var text_be_checked_3 = '1Annie'
do_some_stuff(name_list, text_be_checked_3) // true
其实很简单


Array.indexOf()
如果要检查的项不在数组中,则返回-1。因此,通过将返回值与-1进行比较,如果项目在列表中,则得到
true
,如果项目不在列表中,则得到
false

只需执行以下操作即可:
if(name\u list.includes(text\u to\u be\u checked)){}

慢慢来结账吧


希望有帮助。

我想这就是你真正想要的

var name_list=['Annie','John','Lyam','Mary']
var text\u be\u checked\u 1='Annie'
if($.inArray(文本被选中,名称列表)!=-1){
log('value exist');
}

根据您的需要检查以下代码,它可以工作:

功能inArray(针、草垛){
var length=haystack.length;
对于(变量i=0;i功能性方法:

name\u list.filter(word=>word==text\u be\u checked\u 1)。length>=1
name\u list。一些(name=>name==“Mike”)
将返回false
name\u列表。在您的情况下,一些(name=>name==“Annie”)
会返回true


数组方法根据条件返回true或false。你可以用它。

我觉得也一样。你能解释一下为什么不同吗?我想你被误解了。尝试以下函数inaray(pineel,haystack){var length=haystack.length;for(var i=0;ihaystack.includes(needle)
,但为什么要简化:)是的,或
name\u list.includes(text\u be\u checked\u 1)
,但为什么要简化:)因为这个解决方案已经提到过了。。为什么要写两次呢?你的
.filter
不仅阅读起来更复杂,而且效率也更低。它将过滤整个数组,即使在位置2找到元素并且数组包含1000个元素
.includes
将在2停止。他是要求最有效的解决方案还是要求解决方案?我从来没有说过我的解决方案比任何解决方案都好,但它可以应用于几乎任何支持函数式编程的语言加载整个库只是为了替换本机的
名称列表。包括(text\u be\u checked\u 1)
?不,谢谢
function do_some_stuff(list, str) {
    return list.indexOf(str) !== -1
}