JSFiddle - React, Tailwind, and code Playground

JavaScript

var firstArray = [{
  firstName: '',
  age: null,
  gender: null,
  preferences: []
}];

var arrayToPushToFirstArray = [{
    age: 1,
    firstName: "Billy",
    gender: "girl"
  },
  {
    age: 2,
    firstName: "Daniel",
    gender: "boy"
  }
];

function extend() {
  for (var i = 1; i < arguments.length; i++)
    for (var key in arguments[i])
      if (arguments[i].hasOwnProperty(key))
        arguments[0][key] = arguments[i][key];
  return arguments[0];
}

var mask = firstArray[0];
var tmpArray = [];

for (var x = 0; x < arrayToPushToFirstArray.length; x++) {
  var tmpObj = extend({}, mask, arrayToPushToFirstArray[x]);
  tmpArray.push(tmpObj);
}

firstArray = tmpArray;

alert(JSON.stringify(firstArray, null, 2));

console.log(firstArray);