Проблема с добавлением нескольких объектов в массив JavaScript: происходит перезапись

Столкнулся с неожиданной проблемой при работе с массивами в JavaScript. Пытаюсь добавить несколько объектов в массив, но почему-то всегда остается только один - последний добавленный. Вот пример кода:

let myArray = [];

function addObject(name, age) {
  let person = { name: name, age: age };
  myArray.push(person);
}

addObject('Иван', 25);
addObject('Мария', 30);
addObject('Петр', 35);

console.log(myArray);

Ожидаю увидеть массив с тремя объектами, но выводится только один. Что я делаю не так? Может, проблема в области видимости или я неправильно использую метод push? Буду благодарен за любые подсказки!

Хмм, странно, твой код выглядит вполне нормально. У меня такой код работает как надо - добавляет все три объекта в массив. Может быть, проблема где-то в другом месте?

Попробуй добавить console.log() после каждого вызова addObject(), чтобы посмотреть, что происходит на каждом шаге. Еще можно попробовать использовать метод concat() вместо push() - типа myArray = myArray.concat(person).

А еще проверь, нет ли где-то в коде случайной перезаписи myArray. иногда такое бывает, особенно если переменная глобальная.

Проверил код – вроде логика норм. Возможно, проблема в другом участке, где массив перезаписывается. Пробовал ли ты выводить массив после каждого добавления? Интересно, а были ли у тебя аналогичные операции в других частях кода? Возможно, полный скрипт поможет разобраться.

Код вроде нормальный, должен работать. Может, ты где-то случайно перезаписываешь myArray или очищаешь его? Попробуй добавить console.log после каждого addObject, чтобы увидеть, что реально происходит. Еще вариант - используй const вместо let для myArray, чтобы случайно не переопределить. И проверь, нет ли глобальной переменной с таким же именем, которая конфликтует. Если не поможет - кидай больше кода, посмотрим.