• JSinArray检查数组中是否存在某个值


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

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

    function inArray1(needle,array,bool){
        if(typeof needle=="string"||typeof needle=="number"){
            for(var i in array){
                if(needle===array[i]){
                    if(bool){
                        return i;
                    }
                    return true;
                }
            }
            return false;
        }
    }

    第二种:

    function inArray2(needle,array,bool){
        if(typeof needle=="string"||typeof needle=="number"){
            var len=array.length;
            for(var i=0;i<len;i++){
                if(needle===array[i]){
                    if(bool){
                        return i;
                    }
                    return true;
                }
            }
            return false;
        }
    }

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

  • 相关阅读:
    java嵌套接口
    关于继承与多态
    重看Maven技术
    npm常用命令及参数总结
    vue.js和node.js的关系
    Invalid [xxx] in servlet mapping 、 <url-pattern>的匹配规则
    Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'name' in 'field list'
    关于中文词云生成报错
    easygui安装过程
    将写好的python软件打包成程序
  • 原文地址:https://www.cnblogs.com/zfying/p/2854157.html
Copyright © 2020-2023  润新知