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);
}
}
У меня есть сериализованный массив данных, и я хочу удалить пустой объект массивом, как указано в приведенном выше коде. Я не уверен, почему сращивание не делает трюк.
Хорошо, я понимаю, почему это не удалось правильно сплайсировать. Причина в том, что длина массива уменьшается после того, как происходит сращивание, и 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
}
}