关于javascript:如何确定某个字符串是否在列表中

How to determine whether some string is in the list or not

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

我想要的是确定文本是否与上述name_list中的名称完全匹配。

我读了这本书,但这并不是我真正需要的。

我该怎么做?

我不在乎解决方案是从哪里来的。javascript或jquery都可以。

你能解决这个问题吗?

编辑:

谢谢大家,有很多答案,我做了测试。

但我认为我必须对我的问题做更多的解释。

你必须检查一下:

1
2
3
4
var name_list = ['Annie','John','Lyam','Mary']

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

作为你的答案,从这里开始Mango可以返回true,但1MangoMango_to返回false。

这就是重点,我想要的是,1MangoMango_to也都是真的。

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


您可以通过简单地执行以下操作来实现:if (name_list.includes(text_to_be_checked) ) {}

花点时间查看https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/array/includes

希望它有帮助。


1
2
3
function do_some_stuff(list, str) {
    return list.indexOf(str) !== -1
}

这真的很简单。

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


name_list.some(name => name=== 'Mike')将返回假在你的情况下,name_list.some(name => name=== 'Annie')将返回真值。

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


功能性方法:

name_list.filter(word => word == text_be_checked_1).length >= 1


根据您的需要检查以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

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

var output=inArray('Annie', name_list);
console.log(output);


我想这就是你真正想要的,

1
2
3
4
5
6
7
var name_list = ['Annie','John','Lyam','Mary']

var text_be_checked_1 = 'Annie'

if($.inArray(text_be_checked_1, name_list) !== -1){
  console.log('value exist');
}
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">

希望这对你有帮助!

问候语!