风暴俱乐部|中搜索数组元素的四种方法,JavaScript
在实际开发当中 , 我们经常会遇到类似诸如下面的需求:
获取满足特定条件的数组中的所有项目要检查是否满足条件?检查数组中是否有特定值?在数组中找到指定值的索引?在本文中 , 我们将讨论四种可用于搜索数组中项目的方法 。 这些方法是:
filterfindincludesindexOf接下来 , 我们就一起来看一下这四种方式
Array.filter()【风暴俱乐部|中搜索数组元素的四种方法,JavaScript】我们可以使用Array.filter()方法在数组中查找满足特定条件的元素 。
例如 , 如果我们要获取大于10的数字数组中的所有项目 , 则可以执行以下操作:
constarray=[10,11,3,20,5];constgreaterThanTen=array.filter(element=>element>10);console.log(greaterThanTen)//[11,20]使用array.filter()方法的语法如下:
letnewArray=array.filter(callback);着这里:
newArray是返回的新数组array是我们要进行查找的数组本身callback是应用于数组每个元素的回调函数如果数组中没有项目符合条件 , 则返回一个空数组 。
有时 , 我们不需要满足特定条件的所有元素 。 我们只需要一个符合条件的元素 。 在这种情况下 , 需要使用find()方法 。
Array.find()使用Array.find()方法查找满足特定条件的第一个元素 。 就像filter方法一样 , 它以回调为参数 , 并返回满足回调条件的第一个元素 。
我们尝试一下在上面的示例中对数组使用find方法 。
constarray=[10,11,3,20,5];constgreaterThanTen=array.find(element=>element>10);console.log(greaterThanTen)//11array.find()的语法为
letelement=array.find(callback);callback是在数组中的每个值上执行的函数 , 带有三个参数:
element-当前被遍历的元素(必填)index-当前遍历的元素的索引/位置(可选)array-当前数组(可选)
Array.includes()includes()方法确定数组是否包含某个值 , 并在适当时返回true或false 。
因此 , 在上面的示例中 , 如果我们要检查20是否为数组中的元素之一 , 则可以执行以下操作:
constarray=[10,11,3,20,5];constincludesTwenty=array.includes(20);console.log(includesTwenty)//true你会注意到此方法与其他方法之间的区别 。 此方法接受值而不是回调作为参数 。 这是include方法的语法:
constincludesValue=https://pcff.toutiao.jxnews.com.cn/p/20200718/array.includes(valueToFind,fromIndex)valueToFind是要在数组中检查的值(必填)fromIndex是要开始从中搜索元素的数组中的索引或位置(可选)要了解索引的概念 , 让我们再次使用上面的示例 。
如果要检查数组是否在第一个元素之外的其他位置包含10个 , 可以执行如下操作:
constarray=[10,11,3,20,5];constincludesTenTwice=array.includes(10,1);console.log(includesTenTwice)//falseArray.indexOf()indexOf()方法返回可以在数组中找到给定元素的第一个索引 。 如果数组中不存在该元素 , 则返回-1 。
回到例子 。 让我们找到数组中3的索引 。
constarray=[10,11,3,20,5];constindexOfThree=array.indexOf(3);console.log(indexOfThree)//2其语法类似于该includes方法的语法 。
constindexOfElement=array.indexOf(element,fromIndex)element是要在数组中检查的元素(必填) , 并且fromIndex是要从数组中搜索元素的启始索引或位置(可选)请务必注意 , includes和indexOf方法都使用严格的相等性('===')搜索数组 。 如果值的类型不同(例如4和'4') , 它们将分别返回false和-1 。
- 驱动之家资讯|支付宝搜索流量全面开放:麦当劳、肯德基、星巴克等抢先升级“品牌直达”
- 简创企服|简创企服:企业形象如何搭建?搜索引擎是重要的出口
- 风暴俱乐部|但是却不可或缺,卡-31预警直升机性能如何?远不如E-2D先进
- Java|Java项目搜索功能的实现
- 太平洋电脑网|将监测热带风暴 以调整载人龙飞船返回地球计划,NASA
- 风暴俱乐部|“华米OV”或成历史,华为出货量领先“米OV”三家之和
- 申永祥|手机网站移动SEO搜索优化详细步骤
- 风暴俱乐部|卖家断货到9月,尾程无解!145件货莫名消失
- 风暴俱乐部|6 是什么?相比5G对于智能建筑有何意义,Wi-Fi
- 红米手机|淘宝下半年,搜索流量的现状和变化