javascrpt的一些常用判断

一,判断是否存在于数组当中

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

本文转自博客:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值