Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript按此查找或/或按此查找_Javascript_Find - Fatal编程技术网

Javascript按此查找或/或按此查找

Javascript按此查找或/或按此查找,javascript,find,Javascript,Find,是否有更干净的方法来查找与条件匹配的数组中的第一个值,如果找不到该值,请尝试其他值 const-animals=[“猫”、“狗”、“鸟”、“蛇”]; 让favoriteAnimal=animals.find(animal=>animal=='cat'); 如果(!favoriteAnimal)favoriteAnimal=animals.find(animal=>animal==='dog'); 更新了我的问题。如果“cat”不在数组中,则查找“dog”。如果找不到“cat”或“dog”,只需

是否有更干净的方法来查找与条件匹配的数组中的第一个值,如果找不到该值,请尝试其他值

const-animals=[“猫”、“狗”、“鸟”、“蛇”];
让favoriteAnimal=animals.find(animal=>animal=='cat');
如果(!favoriteAnimal)favoriteAnimal=animals.find(animal=>animal==='dog');

更新了我的问题。如果“cat”不在数组中,则查找“dog”。如果找不到“cat”或“dog”,只需返回undefined。

如果只查找字符串值,可以执行以下操作:

const-animals=['dog'、'bird'、'snake'];
常数animalsToTry=[“猫”、“狗”];
让favoriteAnimal=animalTotry.find(animal=>animals.includes(animal));

console.log(favoriteAnimal);/'dog'
如果只查找字符串值,可以执行以下操作:

const-animals=['dog'、'bird'、'snake'];
常数animalsToTry=[“猫”、“狗”];
让favoriteAnimal=animalTotry.find(animal=>animals.includes(animal));

console.log(favoriteAnimal);/'狗
假设您的钥匙列表(
收藏夹
)的“优先级”从高到低排列,您可以从
动物列表中迭代查找
收藏夹动物

function findFavourite(动物、收藏夹){
//假设“收藏夹”的“优先级”从最高到最低排列
for(最受欢迎的内容中的const-favorite){
if(动物。包括(最喜爱的)){
回归最爱;
}
}
返回null;
}
常量动物=[‘狗’、‘鸟’、‘蛇’];
console.log(findFavourite(动物,['cat','dog']);/'狗的
console.log(findFavourite(动物,['cat','bird','dog']);/'鸟的

console.log(findFavourite(动物,['cat','mouse']);//null
假设您的密钥列表(
收藏夹
)的“优先级”从高到低排列,您可以从
动物列表中迭代查找
收藏夹动物

function findFavourite(动物、收藏夹){
//假设“收藏夹”的“优先级”从最高到最低排列
for(最受欢迎的内容中的const-favorite){
if(动物。包括(最喜爱的)){
回归最爱;
}
}
返回null;
}
常量动物=[‘狗’、‘鸟’、‘蛇’];
console.log(findFavourite(动物,['cat','dog']);/'狗的
console.log(findFavourite(动物,['cat','bird','dog']);/'鸟的

console.log(findFavourite(动物,['cat','mouse']);//null
您希望返回什么?布尔值还是已建立的项目?@Deniz我更新了我的问题。我想在数组中搜索与条件匹配的第一项并返回它。如果未找到任何项,则使用第二个条件在数组中搜索第一个项。如果没有匹配的项,只返回undefined。您希望返回什么?布尔值还是已建立的项目?@Deniz我更新了我的问题。我想在数组中搜索与条件匹配的第一项并返回它。如果未找到任何项,则使用第二个条件在数组中搜索第一个项。如果没有匹配项,只需返回undefined。我在
animals
数组中添加了'cat'来更新我的问题。我想找到第一个匹配的项目,如果找不到,就找下一个。根据
动物
数组的顺序,此解决方案可能返回不正确的动物。例如:如果动物数组是['dog','cat',],它将返回dog,因为这是我第一次优先考虑'cat'。@Josh no,它将返回
cat
(即“动物”中出现的第一个“animalToTry”-无论索引如何)我的错,我读错了代码。我发现您在
animalsToTry
中找到了该项,而不是
animals
中找到了该项,它将返回正确的结果。不过,唯一需要注意的是,我需要从
animals
数组返回项目。为简洁起见,我错误地忽略了
动物
数组将是一个对象数组。很抱歉@blex,我删除了我的评论,并给了你+1。@Josh我包括了一个示例,其中它从原始数组返回了一个对象。我通过在
动物
数组中添加“cat”更新了我的问题。我想找到第一个匹配的项目,如果找不到,就找下一个。根据
动物
数组的顺序,此解决方案可能返回不正确的动物。例如:如果动物数组是['dog','cat',],它将返回dog,因为这是我第一次优先考虑'cat'。@Josh no,它将返回
cat
(即“动物”中出现的第一个“animalToTry”-无论索引如何)我的错,我读错了代码。我发现您在
animalsToTry
中找到了该项,而不是
animals
中找到了该项,它将返回正确的结果。不过,唯一需要注意的是,我需要从
animals
数组返回项目。为简洁起见,我错误地忽略了
动物
数组将是一个对象数组。很抱歉@blex,我删除了我的注释,并给了你+1。@Josh我包括了一个示例,其中它从原始数组返回一个对象