我有以下代码:
var arrayInstSaude = new Array();
$("input[name='uniSaudePrj']:checked").each(function(){
arrayInstSaude[$(this).val()]=$(this).val();
});
由于某种原因,它给了我一个混乱的数组。
范例:
如果我检查1个元素值eq1。它给我的arrayInstSaude长度等于2。
如果我检查2个元素的值eq2。它给我的arrayInstSaude长度等于3。
如果我检查3个元素的值eq 5,它使我的arrayInstSaude长度等于6。
如果我检查4个元素的值eq 6,它使我的arrayInstSaude长度等于7。
如果我检查5个元素的值eq 7,它使我的arrayInstSaude长度等于8。
如果我对5个元素这样做:
for (var i = 1; i <=arrayInstSaude.length; i++) {
alert(arrayInstSaude[i]);
}
我将有1,2,undefined,undefined,5,6,7,undefined,而预期会有1,2,5,6,7。
有人知道发生了什么吗?
谢谢!
最佳答案
数组始终是连续的。
长度只是最高索引加一。
听起来您想要一个恰好具有数字键(且没有长度)的常规对象。