JS中判断数组是否包含指定的元素

数组是我们编程中经常使用的的数据结构之一。在处理数组时,我们经常需要在数组中查找特定的值,JavaScript包含一些内置方法来检查数组是否有特定的值或对象。

检查数组是否包含一个基本类型的值

Arrya.includes() 方法

检查数组值的最简单方法是使用include()方法,如下所示:

let animals = ["?", "?", "?", "?"];
animals.includes("?"); // true
animals.includes("?"); // false

该函数返回一个布尔值,表示该值是否存在。

Arrya.indexOf() 方法

在需要查找的元素的确切位置的情况下,可以使用indexOf(elem)方法,该方法在指定的数组中查找elem并返回其第一次出现的索引,如果数组不包含elem则返回-1

let grades = ["B", "D", "C", "A"];
grades.indexOf("A"); // 3
grades.indexOf("F"); // -1

在第一个实例中,元素出现,并返回其位置,在第二个实例中,返回值表示元素不存在。

检查对象数组是否包含对象

some() 方法

在搜索对象时,include()检查提供的对象引用是否与数组中的对象引用匹配。这不是我们想要的,因为对象可以有相同的字段和相应的值,但引用不同。
我们可以使用some()方法根据对象的内容进行搜索。some()方法接受一个参数,接受一个回调函数,对数组中的每个值执行一次,直到找到一个满足回调函数设置的条件的元素,并返回true
为了更好地理解它,让我们看看一些 some()的实际应用

let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}];
let element = {name: "monkey"};
animals.some(animal => animal.name === element.name);

回调函数在前两种情况下返回 false,但在第三个情况下返回 true,因为名称匹配。 此后,some()暂停执行并返回 true

总结

在本文中,我们介绍了在JavaScript中检查数组是否包含指定值的几种方法。
我们已经介绍了include()函数,它会在值存在时返回一个布尔值。函数的作用是:如果值存在,则返回该值的索引;如果不存在,则返回-1
最后,对于对象,some()函数可帮助我们根据对象的内容搜索对象的存在。
转载:如何在 JS 中判断数组是否包含指定的元素(多种方法)

本文作者:Journey&Flower

本文链接:https://www.cnblogs.com/JourneyOfFlower/p/18245371

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Journey&Flower  阅读(91)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 Not Found REOL
404 Not Found - REOL
00:00 / 00:00
An audio error has occurred.

Fade away

Do over again

Fade away

Utai hajime no hitomojime

Itsumo mayotteru

Douse toritome no nai koto dakedo

Tsutawaranakya motto imi ga nai (Ooh-ooh, oh-oh-oh)

Doushitatte konna ni fukuzatsu nano ni

Kamikudaite yaranakya tsutawaranai

Hora kekkyoku kashi nanka dou datte ii

Boku no ongaku nanka kono yo ni nakutatte ii nda yo

Ii ndarou

Nee sou darou

Everybody don't know why

Everybody don't know much

Boku wa ki ni shinai, kimi wa kidzukanai

Doko ni mo mou inai inai

Everybody don't know why

Everybody don't know much

Wasureteiku, wasurerareteiku

We don't know, we don't know, no, no

Me no mae, hirogaru genjitsu sekai ga mata yuganda

Nando risetto shite mo

Boku wa boku igai no dareka ni wa umare kawarenai

Sonna no shitteru yo

Ki ni naru ano ko no uwasabanashi mo

Shinikaru hyouteki wa tsugi no sokuhou

Mahi shichatteru (Tteru) kokkara esukeepu (Keepu)

Tooku tooku made ikeru yo

Antei nante nai (Na-na-na-na)

Fuanteina sekai (Na-na-na-na)

Antei nante nai (Na-na-na-na)

Kitto ashita ni wa wasureru yo

Fade away

Do over again

Fade away

Souda sekai wa dokoka ga itsumo uso kusai

Kireigoto dake ja daijina hitotachi sura mamorenai

Kudaranai, bokura minna dokoka kurutteru mitai

Hontou no koto nanka zenbu kamisama mo shiranai

Kamisama mo shiranai (Woah, woah, woah, no, woah)

Kamisama mo shiranai (Woah, woah, woah, no, woah)

Kamisama mo shiranai, but

Kamisama mo shiranai (Woah, no, woah, no, woah)

Everybody don't know why

Everybody don't know much

Boku wa ki ni shinai, kimi wa kidzukanai

Doko ni mo mou inai inai

Everybody don't know why

Everybody don't know much

Wasureteiku, wasurerareteiku

We don't know, we don't know, oh, oh-oh-oh

Ahh, oh-oh-oh-oh

Woah, oh-oh-oh

Ooh, ooh, ooh, ooh-ooh-ooh-ooh