日期:2014-05-16  浏览次数:20313 次

javascript 如何判断一个元素是否在一个数组里?


元素 为 str ="1_2";


数组 为 arr[7] = { "1_3","3_1","2_1","3_4","4_2","1_2","0_0" } ;



如何判断是否在里面呢?


这个貌似不是很好用、

JScript code
//*   判断在数组中是否含有给定的一个变量值
    //*   参数:
    //*   obj:需要查询的值
    //*    a:被查询的数组
    //*   在a中查询obj是否存在,如果找到返回true,否则返回false。
    //*   此函数只能对字符和数字有效
    function contains(a, obj) {
        for (var i = 0; i < a.length; i++) {
            if (a[i] === obj) {
                return true;
            }
        }
        return false;
    }


------解决方案--------------------
arr[7]这样定义就成了对象,你直接
arr = ["1_3","3_1","2_1","3_4","4_2","1_2","0_0" ]

------解决方案--------------------
JScript code
<SCRIPT LANGUAGE="JavaScript">
<!--
    var x = ["1_3","3_1","2_1","3_4","4_2","1_2","0_0"];
    
    if(contains(x, "1_2"))
    {
        alert("找到!");
    }else
    {
        alert("没找到!");
    }

    function contains(a, obj) {
        for (var i = 0; i < a.length; i++) {
            if (a[i] === obj) {
                return true;
            }
        }
        
        return false;
    }
//-->
</SCRIPT>

------解决方案--------------------
JScript code

            function contains(a, obj) {
                for (var i = 0; i < a.length; i++) {
                    if (a[i] === obj) {
                        return true;
                    }
                }
                return false;
            }
            var str ="1_2";
            var obj = [ "1_3","3_1","2_1","3_4","4_2","1_2","0_0" ];
            alert( contains(obj, str) )

------解决方案--------------------
试下用Jquery

$.inArray(val, array)判断是否在指定数组中,返回元素在数组中的位置,0为起始位置,返回-1则未找到该元素