我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array()。那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。value要搜索的值。array一个数组,通过它来搜索。

当然,处于学习,自己也去写了这样的函数,有2种代码可以实现,第一种:

[javascript]  view plain copy
  1. function inArray1(needle,array,bool){
  2. if(typeof needle=="string"||typeof needle=="number"){
  3. for(var i in array){
  4. if(needle===array[i]){
  5. if(bool){
  6. return i;
  7. }
  8. return true;
  9. }
  10. }
  11. return false;
  12. }
  13. }

第二种:

[javascript]  view plain copy
  1. function inArray2(needle,array,bool){
  2. if(typeof needle=="string"||typeof needle=="number"){
  3. var len=array.length;
  4. for(var i=0;i<len;i++){
  5. if(needle===array[i]){
  6. if(bool){
  7. return i;
  8. }
  9. return true;
  10. }
  11. }
  12. return false;
  13. }
  14. }

三个参数,在array中查找needle,bool为布尔量,如果为true则返回needle在array中的位置,那么就会有人问,到底用哪个比较好,在性能方便,如果array数组不是很大,2则无太大的差别,如果array数组很大,则第二种速度更快一点,for..in的遍历的确比for要慢很多

js inArray() jQuery.inArray( value, array )相关推荐

  1. JS(JQuery)操作Array的相关方法

    1:split 函数将字符串按某个字符分割,将分割后的结果存入字符串数组中 function SplitUsersInformation(users) {var usersArray = users. ...

  2. indexOf() 与 jquery.inArray()

    indexOf() 与 jquery.inArray() 注意:IE6下不支持 indexOf() 1.indexOf () 当无法确定在某个字符串中是否确实存在一个字符的时候,就可调用 indexO ...

  3. jquery.inArray()和splice()使用小记

    首先对jquery.inArray()方法做个小介绍:     jQuery.inArray(value, array) 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 ).返回 ...

  4. jQuery.inArray() 函数详解

    jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回 -1. 该函数属于全局jQuery对象. 语法 jQuery 1.2 新增该静态函数. jQ ...

  5. 原生JS替代jQuery的各种方法汇总

    前端发展很快,现代浏览器原生 API 已经足够好用.我们并不需要为了操作 DOM.Event 等再学习一下 jQuery 的 API.同时由于 React.Angular.Vue 等框架的流行,直接操 ...

  6. 原生js替换jQuery各种方法-中文版

    原文https://github.com/nefe/You-D... You Don't Need jQuery 前端发展很快,现代浏览器原生 API 已经足够好用.我们并不需要为了操作 DOM.Ev ...

  7. js、jQuery实现数字滚动效果

    一.效果(监听页面滚动使得超过屏幕的数字每次出现都有数字滚动效果) 二.代码 在滚动数字的标签上加上类名counter <div class="about_right flex5&qu ...

  8. pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件。

    pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件. 注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决. svg模式渲染存在缺陷,只能渲染普通pd ...

  9. 连连看html游戏全代码js、jquery操作

    连连看html游戏全代码js.jquery操作 运行图片 目录路径 连连看水果方块版.html 连连看算法 进行下一个游戏的开发! 注意事项 我会把html文件.css文件提供下载地址,文件夹路径也展 ...

最新文章

  1. 机器学习实现计算不规则图形面积_不用任何数学方法,如何计算圆面积
  2. MyBatis:参数传递 [转]
  3. cocos中如何让背景模糊_Cocos2d-x shader学习2: 模糊(Blur)
  4. 数据可视化【十】绘制地图
  5. idea中新建javaWeb项目
  6. (转)C#开发微信门户及应用(2)--微信消息的处理和应答
  7. iis php5.4配置_PHP5.4 + IIS + Win2008 R2 配置
  8. 【软件测试】软件测试学习笔记(三)
  9. 读 自己动手写操作系统
  10. pl2303hxa串口线驱动_Prolific PL2303 USB转串口线驱动
  11. SDPT3 4.0版——半正定二次线性规划的Matlab软件
  12. WMI权限问题:Access is denied, please check whether the [domain-username-password] ..
  13. The JAVA_HOME environment variable is not defined correctly This environment variable is needed to r
  14. 东芝或于今秋出售子公司智能电表巨头兰吉尔
  15. 计算机网络组件连接方式有,一种计算机网络信号连接装置的制作方法
  16. 52GB!网曝网易邮箱数据又泄露?还是葫芦娃?
  17. C/C++学习日记:用C语言画一个爱心,哄女朋友效果杠杠的!
  18. 景安网络:根植中原厚土发力云计算巅峰
  19. eclipse 代码折叠插件-folding
  20. Github每日精选(第65期):手机自动化测试工具maestro

热门文章

  1. python字符串前面加f什么意思,浅析python字符串前加r、f、u、l 的区别
  2. 【转】Android 平台语音通话及回音消除、噪音消除研究
  3. 基于联发科MTK6761多功能 8寸三防平板/方案定制
  4. 前端 js 获取cookie的值
  5. QTP自动化测试实践-01
  6. 实现macOS热门功能,我只用了60行代码
  7. 老僧告诉我:人走霉运时,默念2句话,好运自然来!
  8. 利用Python制作一个发红包的小游戏
  9. Matlab中使用实时编辑器任务清理杂乱数据并找到极值
  10. mysql分库分表按时间_数据库分库分表思路