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(){}这俩种形式都可以,一个是函数,另一个是类方法的扩展。

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

  • 相关阅读:
    Flask 静态文件缓存问题
    Flask中current_app和g对象
    Flask-Login详解
    Flask-分开Models解决循环引用
    python包中__init__.py文件的作用
    Flask中路由参数
    Flask之加载静态资源
    Flask request 属性详解
    Django REST framework+Vue 打造生鲜超市(一)
    8.Vue基础
  • 原文地址:https://www.cnblogs.com/wjmm/p/8119285.html
Copyright © 2011-2022 走看看