formData=$("form").serializeArray();
for(var i=0; i<formData.length;i++){
console.log(i+': '+formData[i].name+': ' +formData[i].value);
if(formData[i].value=="") {
formData.splice(i,1);
console.log(i);
}
}
我有一个序列化的数据数组,我想删除数组中的空对象,如上面的代码所示。我不确定为什么拼接没有做到这一点。
答案 0 :(得分:0)
好的,我知道为什么这没有正确拼接。原因是在拼接发生后阵列的长度减少了,i
保持不变。为了解决这个问题,我做了以下几点:
formData=$("form").serializeArray();
l = formData.length;
for(var i=0; i<l;i++){
console.log(i+': '+formData[i].name+': ' +formData[i].value);
if(formData[i].value=="") {
formData.splice(i,1);
l--; //reset length of array
i--; //reset i
}
}