我正在使用引导验证程序来克隆输入和单选元素。
它工作正常,但是在将这些值作为JavaScript数组接收时出现问题。因为我在DOM中始终具有隐藏的输入和广播元素,所以它发送空对象。

我如何映射我的数组对象以接收值

var kids = $(".form--group").map(function() {
  return {
     kidName: $(this).find('.thevoornaam').val(),
     newDob: $(this).find('.date_of_birth').val(),
    }
    }).get();
console.log(kids)


我正在收到这样的价值。

[{kidName: "Test", newDob:"20"},{kidName: "", newDob:""} ]


始终收到带有空字符串的第二个对象。

如果值为空或未定义,如何从数组中删除对象。

我希望你们能理解我的问题。

提前致谢。

最佳答案

您可以使用filter这样过滤掉空对象

var kids = $(".form--group").map(function() {
  return {
     kidName: $(this).find('.thevoornaam').val(),
     newDob: $(this).find('.date_of_birth').val(),
  }
}).get();

kids = kids.filter(function (kid) {
  return kid.kidName && kid.newDob;
});

console.log(kids)

10-06 12:41