gpt4 book ai didi

javascript - js检查元素是否在数组中

转载 作者:行者123 更新时间:2023-12-03 09:21:51 26 4
gpt4 key购买 nike

我是 JavaScript 新手,希望得到一些帮助。我尝试在数组中搜索元素,但找不到正确的解决方案。首先我尝试了这个,但没有成功。

 var find = function(string, array) {
for(i=0;i>=array.length-1;i++){
if(array[i]==string){
return true;
}
else{
return false;
}
}
};

然后我尝试了这个

var find = function(string, array) {
if(array.indexOf(string)>-1){
return true;}
else{
return false;
}

};

但它不适用于数字这是我的测试

Test.assertEquals(find("hello", ["bye bye","hello"]), true);
Test.assertEquals(find("2", ["bye bye","2"]), true);
Test.assertEquals(find("2", ["bye bye",2]), false);

最佳答案

第一次发现与您要查找的内容不匹配的元素时,您将返回 false。只有在处理完整个数组后才应该返回 false。你的循环也是不正确的,如果 i 是 0,它永远不会大于或等于数组长度,除非数组为空:

 var find = function(string, array) {
for(i=0; i < array.length; i++) {
if(array[i]==string) {
return true;
}
}
return false;
};

您还应该关注命名约定。您的函数称为 find,但它实际上并不返回找到的元素。我将该函数命名为 contains

这是一个很好的学习练习,但不要重新发明轮子:

[1,2,3,4,5,6].indexOf(foo) > -1

如果 foo 在数组中,则返回 true。

关于javascript - js检查元素是否在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31816395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com