zoukankan      html  css  js  c++  java
  • JSinArray检查数组中是否存在某个值

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

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

    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. }  

    第二种:

    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要慢很多

  • 相关阅读:
    BNUOJ-26474 Bread Sorting 逆序对
    POJ-2480 Longge's problem 积性函数
    Bzoj-2705 Longge的问题 欧拉函数
    Bzoj-2820 YY的GCD Mobius反演,分块
    HDU-4689 Derangement DP
    [转]初学者程序语言的选择
    HDU-4705 Y 树形DP
    HDU-4704 Sum 大数幂取模
    HDU-4699 Editor 数据结构维护
    HDU-4696 Answers 纯YY
  • 原文地址:https://www.cnblogs.com/duanxz/p/2679635.html
Copyright © 2011-2022 走看看