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

时间:2018-06-01 10:47:29

标签: 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

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

我读过this,但这不是我需要的。

我该怎么做?

我不关心解决方案的来源。 javascript或jQuery都没关系。

请你解决这个问题吗?

修改

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

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

你必须检查一下:

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

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

作为您的答案,来自here Mango可以返回true,但1MangoMango_to返回false。

这就是重点,我想要的是1MangoMango_to也会返回true。

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

6 个答案:

答案 0 :(得分:2)

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

真的很简单。

如果您检查的项目不在数组中,

Array.indexOf()将返回-1。因此,通过将返回值与-1进行比较,如果项目在列表中,则会得到true,如果列表中没有,则会得到false

答案 1 :(得分:2)

您只需执行以下操作即可实现: DEBUG_INFORMATION_FORMAT = dwarf; ONLY_ACTIVE_ARCH = YES; VALIDATE_PRODUCT = NO;

花点时间查看transform

希望它有所帮助。

答案 2 :(得分:1)

功能性方法:

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

答案 3 :(得分:1)

name_list.some(name => name=== 'Mike')会返回 false
name_list.some(name => name=== 'Annie')会在您的案例中返回 true

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

答案 4 :(得分:0)

我猜你正在寻找这个,

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');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

希望这对你有所帮助!

问候!

答案 5 :(得分:0)

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

&#13;
&#13;
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);
&#13;
&#13;
&#13;