Вы должны объявить массив в глобальной среде (вне функции).У вас также есть некоторые проблемы с синтаксисом внутри объекта (должно быть :
вместо =
).Тогда вы можете просто push()
объект в массиве при каждом нажатии кнопки.
Попробуйте следующим образом:
var pessoas = [];
function vai(){
var pessoa = {
nome: document.getElementById('nome').value,
idade: document.getElementById('idade').value
};
pessoas.push(pessoa);
console.log(pessoas);
}
<label>Digite seu nome aqui</label>
<input type='text' id='nome' placeholder='aquii'>
<label>Digite sua idade aqui</label>
<input type='text' id='idade' placeholder='aquii'>
<button onclick='vai()'>
Teste aqui
</button>
Вы подходите без использования push()
, поддерживая переменную почти правильно, за исключением области объявления переменной.Вы должны объявить это как глобальную переменную.Вы можете назначить объект в текущую позицию и увеличить его при каждом вызове функции:
var pessoas = [];
var i = 0;
function vai(){
var pessoa = {
nome: document.getElementById('nome').value,
idade: document.getElementById('idade').value
};
pessoas[i] = pessoa;
i++;
console.log(pessoas);
}
<label>Digite seu nome aqui</label>
<input type='text' id='nome' placeholder='aquii'>
<label>Digite sua idade aqui</label>
<input type='text' id='idade' placeholder='aquii'>
<button onclick='vai()'>
Teste aqui
</button>
Обратите внимание: Вы также можете просто использовать length
свойство измассив в качестве текущего index , в этом случае вам нужно поддерживать переменную:
var pessoas = [];
function vai(){
var pessoa = {
nome: document.getElementById('nome').value,
idade: document.getElementById('idade').value
};
pessoas[pessoas.length] = pessoa;
console.log(pessoas);
}
<label>Digite seu nome aqui</label>
<input type='text' id='nome' placeholder='aquii'>
<label>Digite sua idade aqui</label>
<input type='text' id='idade' placeholder='aquii'>
<button onclick='vai()'>
Teste aqui
</button>