javascrpt的一些常用判断_scrpt15:非选择性的参数-程序员宅基地

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

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

本文转自博客:

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38281213/article/details/109462351

智能推荐

《网络空间安全概论》课程笔记及心得(3)_学习巜网络空间安全概论》收获-程序员宅基地

文章浏览阅读3k次。《网络空间安全概论》课程笔记及心得(3)第五章 网络攻防技术1.信息收集技术·网络踩点( Footprinting)了解攻击目标的隐私信息、网络环境和信息安全状况。根据踩点结果,攻击者寻找出攻击目标可能存在的薄弱环节。在入侵一个目标系统之前,必须了解目标系统可能存在的:管理上的安全缺陷和漏洞、网络协议安全缺陷与漏洞、系统安全缺陷与漏洞;在入侵实施过程中,还需要进一步掌握:目标..._学习巜网络空间安全概论》收获

Linux下Eclipse使用NDK开发Android应用_ndk 编写安卓应用 eclipse-程序员宅基地

文章浏览阅读1.3k次。Google提供的Android SDK 已经能够满足绝大多数场景下的Android_ndk 编写安卓应用 eclipse

二阶sql注入里面隐藏了一些东西-程序员宅基地

文章浏览阅读433次。Summary : 总结: Everyone knows what is SQL Injection, but just to give you a brief about SQL Injection, it is a code injection technique that might destroy your database. It usually occurs when you ask...

swift 中隐藏导航栏_在Swift中隐藏和显示导航栏和标签栏-程序员宅基地

文章浏览阅读3k次。swift 中隐藏导航栏Since everyone wants their app to look neat, attractive, and fascinating, non-standard UI elements and animations are becoming very popular. HidingNavigationBar is such a framework. It hel...

【2021-12-18】java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.util.R_unable to make protected void java.util.resourcebu-程序员宅基地

文章浏览阅读4.7k次。java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.util.ResourceBundle.setParent(java.util.ResourceBundle) accessible: module java.base does not “opens java.util” to unnamed module @a38d7a3在项目级的 build.gradle 的 buildscript 的 _unable to make protected void java.util.resourcebundle.setparent(java.util.r

ubuntu16.04 安装apache php5 mysql & 相关设置_ubuntu16 php5-mysql-程序员宅基地

文章浏览阅读5.3k次。ubuntu16.04下默认安装的是php7,由于想要换成主流的php5,所以就有了此文。可能遇到的报错:Fatal error: Call to undefined function mysql_connect()_ubuntu16 php5-mysql

随便推点

智慧地球(iEarth): 服务可持续发展的跨学科框架 | NSR观点-程序员宅基地

文章浏览阅读294次。联合国可持续发展目标(SDGs)关系着人类的未来生存和发展问题,为了更好地实现可持续发展目标,香港大学宫鹏教授研究组和中国科学院郭华东院士研究组联合提出了智慧地球(iEarth)的跨学科框架。该项研究以“iEarth: an interdisciplinary framework in the era ofbig data and AI for sustainable development”为...

基于JavaWeb实现ATM机模拟取款系统实战(用户端操作)_atm机用java实现怎么从数据库里查到余额-程序员宅基地

文章浏览阅读292次。这篇文章主要介绍项目用户端的操作,包括查看余额,存钱,取钱,转账,和退卡操作,以及分页设置_atm机用java实现怎么从数据库里查到余额

备忘录形成html乱码,浏览器icloud网页版备忘录乱码不能显示中文汉字-企业网站设计之中的字体坑...-程序员宅基地

文章浏览阅读2.2k次。iphone备忘录是一个很好用的功能,能方便我们记录一些临时的想法和内容,但是这些内容怎么复制到电脑呢,网页版icloud是一个很好的选择。但是最近icloud网页版却出现了兼容问题不能正常的显示中文。如下图所示选中的部分其实是有文字的,但是在网页上却看不到中文内容只有英文可以正常显示。这其实是网页字体带来的问题。解决办法一:1、打开浏览器,并打开开发人员工具(试用系统自带的edge,按f12);..._网页版的icloud备忘录不显示符号

SSM + jsp整合shiro_ssm+jsp整合shiro-程序员宅基地

文章浏览阅读371次。1.首先整合SSM框架,起码项目要能跑起来以前整合好的ssm框架springmvc-config.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.spr_ssm+jsp整合shiro

《华为C&C++语言安全规范》笔记_华为 c&c++ 语言安全编程规范-程序员宅基地

文章浏览阅读7.5k次,点赞9次,收藏59次。《华为C&C++语言安全规范》笔记通过阅读《华为C&C++语言安全规范》1,我了解到了我在编程中很多缺失的部分。现在记录下几个要点:规则1.1.4:严禁对指针变量进行sizeof操作编码人员往往由于粗心,将指针当做数组进行sizeof操作,导致实际的执行结果与预期不符。 下面的代码,buffer和path分别是指针和数组,编码人员想对这2个内存进行清0操作,但由于编码人员的疏忽,第5行代码,将内存大小误写成了sizeof,与预期不符。如果要判断当前的指针类型大小,请使用sizeof_华为 c&c++ 语言安全编程规范

织梦html5博客模板,HTML5响应式清爽博客文章织梦模板 v1.0-程序员宅基地

文章浏览阅读260次。HTML5响应式清爽博客文章织梦模板简介HTML5响应式清爽博客文章织梦模板是一个自适应手机端和PC端的最新版织梦V5.7为内核的网站模板,软件兼容主流浏览器,模板包含安装说明,并包含测试数据。dedecms最新版内核开发,原创设计、手工书写DIV+CSS,完美兼容IE7+、Firefox、Chrome、360浏览器等;主流浏览器;页面简洁简单,容易管理,DEDE内核都可以使用;附带测试数据!模板..._html5个人博客新闻资讯自适应织梦模板