📕 重学JavaScript:判断数组中包含哪些值有什么好方法?

简介: 你有没有遇到过这样的问题:你想要判断一个数组中包含哪些值,但是却不知道改用什么方法就直接用for循环遍历?🤔

📕 重学JavaScript:判断数组中包含哪些值有什么好方法?

嗨,大家好!这里是道长王jj~ 🎩🧙‍♂️

这里是关于 Javascript 数组高阶函数的第二篇文章。

你有没有遇到过这样的问题:你想要判断一个数组中包含哪些值,但是却不知道改用什么方法就直接用for循环遍历?🤔

其实,这种只要是跟数组有关系的问题,都可以尝试用一些高阶函数来解决。

高阶函数有许多的特定场景可以给我们许多的便利😊,而且这些场景又恰恰是我们最常用的一些场景👍

因此这一期我们就专门针对这个问题看看,有什么什么好的方法提供给我们。

方法一:array.indexOf

这个方法可以告诉我们某个值在数组中的下标。如果数组中有这个值,就返回它的下标;如果没有,就返回-1。

看看下面的例子:

var arr=[1,2,3,4];
var index=arr.indexOf(3);
console.log(index); // 2

这样我们就知道3在数组中的位置了。👍

方法二:array.includes(searcElement[,fromIndex])

这个方法可以告诉我们数组中是否包含某个值。如果数组中有这个值,就返回true;如果没有,就返回false。

var arr=[1,2,3,4];
if(arr.includes(3))
    console.log("存在"); // 存在
else
    console.log("不存在");

这样我们就知道数组中是否有3了。😊

方法三:array.find(callback[,thisArg])

这个方法有点复杂,它可以帮助我们找到数组中满足条件的第一个元素的值。

它需要一个回调函数作为参数,这个回调函数会对数组中的每个元素进行判断,如果返回true,就表示找到了满足条件的元素;如果没有找到,就返回undefined。🕵️‍♂️

var arr=[1,2,3,4];
var result = arr.find(item =>{
   
    return item > 3 // 判断是否大于3
});
console.log(result); // 4

这样我们就找到了数组中第一个大于3的值了。👏

方法四:array.findeIndex(callback[,thisArg])

这个方法和上一个方法很类似,只不过它返回的是满足条件的第一个元素的下标,而不是值。如果没有找到,就返回-1。👉

var arr=[1,2,3,4];
var result = arr.findIndex(item =>{
   
    return item > 3 // 判断是否大于3
});
console.log(result); // 3

这样我们就找到了数组中第一个大于3的值的位置了。😎

方法五:for循环暴力查找

当然,for循环当然是没有问题的,这里讨论的是数组方法,就不再展开了😜

👩‍🦰 想要了解更多

列Api的东西其实没什么好写的。还是惯例,我把文档地址列在这里。

如果你想了解更多关于 array 方法的信息,你可以查看 MDN 的文档:

Array - JavaScript | MDN


🎉 你觉得怎么样?这篇文章可以给你带来帮助吗?如果你有任何疑问或者想进一步讨论相关话题,请随时发表评论分享您的想法,让其他人从中受益。🚀✨

目录
相关文章
|
5天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
17天前
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
4天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
4天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
4天前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
19 7
|
5天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
10天前
|
JavaScript 前端开发 Go
异步加载 JS 的方法
【10月更文挑战第24天】异步加载 JavaScript 是提高网页性能和用户体验的重要手段。通过使用不同的方法和技术,可以实现灵活、高效的异步加载 JavaScript。在实际应用中,需要根据具体情况选择合适的方法,并注意处理可能出现的问题,以确保网页能够正常加载和执行。
|
21天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
24天前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
17 2
|
23天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
50 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法