JS判断数组是否包含某个元素⽅法集合⽂章⽬录
1、JavaScript indexOf() ⽅法
定义和⽤法
indexOf() ⽅法可返回某个指定的字符串值在字符串中⾸次出现的位置。
语法
stringObject.indexOf(searchvalue,fromindex)
参数描述
searchvalue必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的⾸字符开始检索。
说明
该⽅法将从头到尾地检索字符串 stringObject,看它是否含有⼦串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果到⼀个 searchvalue,则返回 searchvalue 的第⼀次出现的位置。stringObject 中的字符位置是从
0 开始的。
提⽰和注释
注释:indexOf() ⽅法对⼤⼩写敏感!
注释:如果要检索的字符串值没有出现,则该⽅法返回 -1。
2、jQuery.inArray()⽅法
定义和⽤法
$.inArray() 函数⽤于在数组中查指定值,并返回它的索引值(如果没有到,则返回-1)
提⽰:源数组不会受到影响,过滤结果只反映在返回的结果数组中。
语法
$.inArray( value, array [, fromIndex ])
参数描述
value任意类型 ⽤于查的值。
array Array类型 指定被查的数组。
fromIndex可选。Number类型 指定从数组的指定索引位置开始查,默认为 0
3、JavaScript find() ⽅法
定义和⽤法
find() ⽅法返回通过测试(函数内判断)的数组的第⼀个元素的值。
find() ⽅法为数组中的每个元素都调⽤⼀次函数执⾏:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调⽤执⾏函数。
如果没有符合条件的元素返回 undefined
注意:find() 对于空数组,函数是不会执⾏的。
注意:find() 并没有改变数组的原始值。
注意:JavaScript 版本为ECMAScript 6
⽤法
array.find(function(currentValue, index, arr),thisValue)
参数描述
function必需。数组每个元素需要执⾏的函数。
currentValue必需。当前元素 函数参数
index可选。当前元素的索引值函数参数
arr可选。当前元素所属的数组对象函数参数
thisValue可选。 传递给函数的值⼀般⽤ “this” 值。如果这个参数为空, “undefined” 会传递给 “this” 值
返回值
返回符合测试条件的第⼀个数组元素值,如果没有符合条件的则返回 undefined。
4、JavaScript findIndex() ⽅法
定义和⽤法
findIndex() ⽅法返回传⼊⼀个测试条件(函数)符合条件的数组第⼀个元素位置。
findIndex() ⽅法为数组中的每个元素都调⽤⼀次函数执⾏:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调⽤执⾏函数。
如果没有符合条件的元素返回 -1
注意:find() 对于空数组,函数是不会执⾏的。
注意:find() 并没有改变数组的原始值。
注意:JavaScript 版本为ECMAScript 6
⽤法
array.findIndex(function(currentValue, index, arr), thisValue)
参数描述
function必需。数组每个元素需要执⾏的函数。
currentValue必需。当前元素 函数参数
index可选。当前元素的索引值函数参数
arr可选。当前元素所属的数组对象函数参数
thisValue可选。 传递给函数的值⼀般⽤ “this” 值。如果这个参数为空, “undefined” 会传递给 “this” 值
返回值
返回符合测试条件的第⼀个数组元素索引,如果没有符合条件的则返回 -1。
5、for 循环和 if 判断
var arr =[1,5,10,15];
/* 传统for */
for(let i=0; i<arr.length; i++){
if(arr[i]===查值){
//则包含该元素
}
}
/* f */
for(v of arr){
if(v ===查值){
//则包含该元素
}
}
/* forEach */
indexof的用法javascript
arr.forEach(v=>{
if(v ===查值){
//则包含该元素
}
})

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。