Javascript 函数迭代查询

Javascript 函数迭代查询,javascript,arrays,function,Javascript,Arrays,Function,我的任务是创建一个遍历数组的函数。下面是我所拥有的,但是我得到了未定义的。我错过了什么 函数lookingForDave(arr){ 对于(变量i=0;i

我的任务是创建一个遍历数组的函数。下面是我所拥有的,但是我得到了
未定义的
。我错过了什么

函数lookingForDave(arr){
对于(变量i=0;iconsole.log(lookingForDave(testArray))
您需要根据值检查数组的元素,如果找到,则返回,否则在函数末尾返回
'Not Dave'

如果在第一次检查值时返回,并且返回not found,则忽略所有其他元素进行检查

函数lookingForDave(数组){
对于(var i=0;iconsole.log(lookingForDave(testArray))
您需要根据值检查数组的元素,如果找到,则返回,否则在函数末尾返回
'Not Dave'

如果在第一次检查值时返回,并且返回not found,则忽略所有其他元素进行检查

函数lookingForDave(数组){
对于(var i=0;iconsole.log(lookingForDave(testArray))这里是另一个解决方案:

function lookingForDave(array) {
    return array.some(el => el === "Dave") ?
    "It's Dave" :
    "Not Dave!";
}



var testArray = ["Dave", "Bob", "Sam"];

console.log(lookingForDave(testArray));
这是它的工作原理:
some()
接受为数组中的每个元素运行的函数。作为参数传递的函数必须返回truthyfalsy值。 如果这些返回语句中有一条是真的,
some()
返回真的。 使用三元运算符检查是否为真,返回“是Dave”,否则返回“不是Dave!”


希望有帮助

这里还有另一个解决方案:

function lookingForDave(array) {
    return array.some(el => el === "Dave") ?
    "It's Dave" :
    "Not Dave!";
}



var testArray = ["Dave", "Bob", "Sam"];

console.log(lookingForDave(testArray));
这是它的工作原理:
some()
接受为数组中的每个元素运行的函数。作为参数传递的函数必须返回truthyfalsy值。 如果这些返回语句中有一条是真的,
some()
返回真的。 使用三元运算符检查是否为真,返回“是Dave”,否则返回“不是Dave!”


希望有帮助

您可以使用find而不是for循环。看起来你想在第一次找到匹配项后返回。Array.find将返回第一个匹配条件的值

在以下情况下,如果数组中的元素等于Dave。如果没有匹配项,那么我们将遍历数组中的每个项并返回undefined

然后,我们可以使用条件(三元)运算符来测试是否找到项

function lookingForDave (arr){
   const found = arr.find(el => el === 'Dave');
   return found ? 'found him' : 'Not Dave'; 
} 
let testArray = ['Dave'];
lookingForDave(testArray);


您可以使用find而不是for循环。看起来你想在第一次找到匹配项后返回。Array.find将返回第一个匹配条件的值

在以下情况下,如果数组中的元素等于Dave。如果没有匹配项,那么我们将遍历数组中的每个项并返回undefined

然后,我们可以使用条件(三元)运算符来测试是否找到项

function lookingForDave (arr){
   const found = arr.find(el => el === 'Dave');
   return found ? 'found him' : 'Not Dave'; 
} 
let testArray = ['Dave'];
lookingForDave(testArray);


这种代码毫无意义。数组方法如何等于字符串?您甚至没有一致地使用参数名称。这段代码毫无意义。数组方法如何等于字符串?您甚至没有始终如一地使用参数名称。这仅在元素本身不是伪值时才有效,因为
find
返回元素。True,感谢您突出显示它。另一个提示是,它是。仅当元素本身不是伪值时才有效,因为
find
返回元素。True,谢谢你强调这一点。只是另一个提示,这是一个。