元素 为  str ="1_2";
数组 为  arr[7] = { "1_3","3_1","2_1","3_4","4_2","1_2","0_0"   } ;如何判断是否在里面呢?
这个貌似不是很好用、//*   判断在数组中是否含有给定的一个变量值
    //*   参数:
    //*   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;
    }

解决方案 »

  1.   

    我的想法和LZ差不多,也就是在循環裏面判斷一下,LZ上面的代碼不行還是什麽?你說得不好用是什麽意思?
      

  2.   

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

  3.   

    <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>
    我怎么行的啊!
      

  4.   


    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) )楼主把 array 和 json 混淆了
      

  5.   

    其实我是想把checkbox 判断围成的图形是否是围住的、我是var arr = new Array();然后把所有点击了  push进去的checkbox的id值为  类似 1_2 这样的值、  var hasNoneChecked = true;
     var arr = new Array(); for (var i = 0; i < e.length; i++) {
                    if (e[i].type == 'checkbox' && e[i].checked && e[i].name != "checkboxAll") {
                        hasNoneChecked = false;
                        //把所有选择的checkbox的id存进数组 追加
                        arr.push(e[i].id);
                    }
                }
    然后取值去比对、  minx = arr[0].substring(0, arr[0].indexOf("_"));  //minx
                    miny = arr[0].substring(arr[0].indexOf("_") + 1, arr[0].length);//miny
                    maxx = arr[arr.length - 1].substring(0, arr[arr.length - 1].indexOf("_"));
                    maxy = arr[arr.length - 1].substring(arr[arr.length - 1].indexOf("_") + 1, arr[arr.length - 1].length);
                    min = arr[0];
                    max = arr[arr.length - 1];
    现在遇到了  俩个数组是否相等的问题    var tempArr = new Array();
                                
                                alert(tmpy);
                                for(var i = 0 ;i <tmpx+1 ; i++){
                                for(var j = 0 ; j < tmpy + 1 ; j++){
                                 tempArr.push((parseInt(minx)+i)+"_"+j);
                                }
                                }
                                alert(tempArr); if(tempArr.toString() == arr.toString()){  flag = true;
    }我弹出的时候俩个数组的元素是一样的
    进行比对是否相同用了
    arr.toString() == tempArr.toString()  这样不好使、是否是我用错了?还是在拼数组的时候弄错了
      

  6.   

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