@wfss

else if (contacts[i].hasOwnProperty(firstName)===false) {
return "No such contact";
} здесь вы проверяете есть ли свойство firstName у объектов массива, а оно есть у всех, поэтому надо проверить равенство свойтва firstName переданного и данного, как мне кажется, ошибка в этом)