用非数字做数组下标时,.length和.forEach的结果好像不大对?
var arrOutput = new Array(); arrInput.forEach(function (input) { if (arrOutput[input] == undefined) { arrOutput [input] = 1; } });//arrOutput.length是0,用forEach遍历arrOutput也得不到值,但直接用key去取又能取的到值是1,奇怪了啊
var a=new Array();a['a']=1;a['b']=2;for(var p in a)if(a.hasOwnProperty(p))alert(a[p])
[解决办法]
arrOutput[0]里面的数字是数组下标
arrOutput["sdfds"]这个相当于给arrOutput定义了一个叫sdfds的属性对象