zoukankan      html  css  js  c++  java
  • 判断某个值是否在某数组内的方法

    判断某个值是否在某数组内的方法如下:

    1.jQuery.inArray( value, array [, fromIndex ] )  ------  fromIndex( 数组索引值,表示从哪里在开始查找。默认值是0 )

       描述:在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)

    inArray: function( elem, arr, i ) {
        var len;
        if ( arr ) {
            if ( indexOf ) {
                return indexOf.call( arr, elem, i );
            }
            len = arr.length;
            i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
            for ( ; i < len; i++ ) {
                // Skip accessing in sparse arrays
                if ( i in arr && arr[ i ] === elem ) {
                    return i;
                }
            }
        }
        return -1;
    },

    $.inArray("b",["a","b","abc"])  ------   1
    $.inArray("c",["a","b","abc"])  ------   -1

    2.循环操作

    function in_array(elem, arr) {
      var i = 0, n = arr.length;
      for (;i < n;++i)
        if (arr[i] === elem)
          return true;
      return false;
    }

    in_array("b",["a","b","abc"])  ------   true
    in_array("c",["a","b","abc"])  ------   false

    3.正则操作

    Array.prototype.in_array=function(elem){
        var r=new RegExp(','+elem+',');
         return r.test(','+this.join()+',');
    };

    [1,"d","abd","c"].in_array("1")  ------   true
    [1,"d","abd","c"].in_array("ddd")  ------   false

    4.indexOf()  ------  存在兼容性,IE中Array并没有这个方法

    function in_array(elem,arr){ 
         var str=','+arr.join(",")+","; 
         return str.indexOf(","+elem+",") != -1; 
    }

    in_array("b",["a","b","abc"])  ------   true
    in_array("c",["a","b","abc"])  ------   false

    关于function in_array()和Array.prototype.in_array=function(){}这俩种形式都可以,一个是函数,另一个是类方法的扩展。

    如果大家有更好的方法或者其他方法,可以留言发表自己的看法。

  • 相关阅读:
    OPPO R9sPlus MIFlash线刷TWRP Recovery ROOT详细教程
    OPPO R11 R11plus系列 解锁BootLoader ROOT Xposed 你的手机你做主
    努比亚(nubia) M2青春版 NX573J 解锁BootLoader 并进入临时recovery ROOT
    华为 荣耀 等手机解锁BootLoader
    青橙 M4 解锁BootLoader 并刷入recovery ROOT
    程序员修炼之道阅读笔03
    冲刺8
    典型用户模板分析
    学习进度八
    冲刺7
  • 原文地址:https://www.cnblogs.com/wjmm/p/8119285.html
Copyright © 2011-2022 走看看