According to the .serializeArray() API Documentation
:
The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute.
So, having the name attribute is a must for .serializeArray()
.