由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:
Array:
新建:var ary = new Array(); 或 var ary = [];
增加:ary.push(value);
删除:delete ary[n];
遍历:for ( var i=0 ; i < ary.length ; ++i ) ary[i];
Object:
新建:var obj = new Object(); 或 var obj = {};
增加:obj[key] = value; (key为string)
删除:delete obj[key];
遍历:for ( var key in obj ) obj[key];
使用如下:
var workExpData = new Array();
for(var i=0;i<document.getElementsByName("duty").length;i++){
var workExp = new Object();
workExp["start_year"] = document.getElementsByName("start_year")[i].value;
workExp["start_month"] = document.getElementsByName("start_month")[i].value;
workExp["end_year"] = document.getElementsByName("end_year")[i].value;
workExp["end_month"] = document.getElementsByName("end_month")[i].value;
workExp["duty"] = document.getElementsByName("duty")[i].value;
workExp["RA"] = document.getElementsByName("RA")[i].value;
workExp["cname"] = document.getElementsByName("cname")[i].value;
workExp["companyNet"] = document.getElementsByName("companyNet")[i].value;
alert(document.getElementsByName("trade")[i].options.value+"==="+i);
workExp["trade"] = document.getElementsByName("trade")[i].options.value;
workExpData.push(workExp);
}