var arrOutput = new Array();
        arrInput.forEach(function (input) {
            if (arrOutput[input] == undefined) {
                arrOutput [input] = 1;
            }
        });//arrOutput.length是0,用forEach遍历arrOutput也得不到值,但直接用key去取又能取的到值是1,奇怪了啊
这种数组里,我怎么才能获取到元素个数呢?还有怎么获取到所有key值呢...

解决方案 »

  1.   

    这种键值对建议直接用对象,不用数组。var a=new Array();
    a['a']=1;
    a['b']=2;
    for(var p in a)if(a.hasOwnProperty(p))alert(a[p])
      

  2.   

    果然用
    for(var p in arrOutput)
    就行,用
    arrOutput.forEach
    就只能找到数值下标的,真奇怪
      

  3.   

    arrOutput[0]里面的数字是数组下标
    arrOutput["sdfds"]这个相当于给arrOutput定义了一个叫sdfds的属性对象