一,判断是否存在于数组当中
1,方法一:array.indexOf(item,start):元素在数组中的位置,如果没与搜索到则返回 -1。
2,方法二:
avaScript Array filter() 方法有类似的检索功能:
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
var ages = [32, 33, 16, 40]; function checkAdult(age) { return age == 16; } function myFunction() { ages.filter(checkAdult); console.log(ages.filter(checkAdult)) } myFunction() //[16] var ages = [32, 33, 16, 40]; function checkAdult(age) { return age <= 14; } function myFunction() { ages.filter(checkAdult); console.log(ages.filter(checkAdult)) } myFunction() 3,方法三,过滤条件是自定义的函数,方便按照个性化的条件进行筛选
find() 方法返回数组中满足提供的测试函数的第一个元素的值。
语法: arr.find(callback[, thisArg])
[1, 5, 10, 15].find(function(value, index, arr) { return value > 9; }) //实际用法: arr.find(function(value) { if(value === 要查找的值) { //则包含该元素 } })
上述两个方法均不会改变原有的数组
array.findIndex()
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
语法: arr.findIndex(callback[, thisArg])
array.findIndex()和array.find()十分类似,返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件,则返回-1。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值
var ages = [3, 10, 18, 20]; function checkAdult(age) { return age >= 18; } function myFunction() { console.log(ages.findIndex(checkAdult)) ; } myFunction() //2
4,方法四 借助jquery的方法,方便快捷
function isInArray2(arr,value){ var index = $.inArray(value,arr); if(index >= 0){ return true; } return false; }
5,方法五、Jquery的$.each()
each() 方法为每个匹配元素规定要运行的函数。
var anArray = ['one','two','three'];
$.each(anArray,function(n,value){
if(value=="one"){
console.log("one存在于数组中"); }
} );
6,方法六 includes() 方法
参数值
参数 | 描述 |
---|---|
searchvalue | 必需,要查找的字符串。 |
start | 可选,设置从那个位置开始查找,默认为 0。 |
举例说明:
[1, 2, 3].includes(2); | //true |
[1, 2, 3].includes(4); | // false |
[1, 2, 3].includes(3, 3); | // false |
[1, 2, 3].includes(3, -1); | //true |
[1, 2, NaN].includes(NaN); | //true |
arr.includes(searchElement, fromIndex).fromIndex:可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0,
实用的功能在于方便判断指定的位置是否是对应的字符
7,方法七.Array some() 方法,类似于filter()
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age == 18; }
function myFunction() {
console.log(ages.some(checkAdult));
}
myFunction() //true
本文转自博客: