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,但1Mango
,Mango_to
返回false。
这就是重点,我想要的是1Mango
和Mango_to
也会返回true。
如果这个解释不够,请评论我。
答案 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)
根据您的需要检查以下代码:
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;