HELP , manipulando array de objetos
25/05/2020
0
HELP, dei uma travada nos meus estudos e precisava de uma ajuda para sair desse buraco!
estou com um problema para LISTAR propriedades de um array de objetos.
o problema é que eu só consigo retornar o conteúdo via STRINGIFY,
gostaria de conseguir retornar apenas uma das propriedades desse array para injetar no meu html,segue o código:
class listaConvidados{
constructor() {
this.convidados = [];
}
adicionar(nome,idade,cpf){
var convidados = {nome:nome, idade:idade, cpf:cpf}
this.convidados.push(convidados);
console.log(convidados);
}
listar(){
var lista = document.getElementById("resultado");
var nome = JSON.stringify(this.convidados);
var texto = document.createTextNode(nome);
lista.appendChild(texto);
}
}
var listaConv = new listaConvidados();
document.getElementById("adicionarConvidado").onclick = function(){
var nome = document.getElementById("name").value;
var idade = document.getElementById("age").value;
var cpf = document.getElementById("docnum").value;
listaConv.adicionar(nome, idade, cpf);
}
document.getElementById("listAll").onclick = function () {
listaConv.listar();
}
estou com um problema para LISTAR propriedades de um array de objetos.
o problema é que eu só consigo retornar o conteúdo via STRINGIFY,
gostaria de conseguir retornar apenas uma das propriedades desse array para injetar no meu html,segue o código:
class listaConvidados{
constructor() {
this.convidados = [];
}
adicionar(nome,idade,cpf){
var convidados = {nome:nome, idade:idade, cpf:cpf}
this.convidados.push(convidados);
console.log(convidados);
}
listar(){
var lista = document.getElementById("resultado");
var nome = JSON.stringify(this.convidados);
var texto = document.createTextNode(nome);
lista.appendChild(texto);
}
}
var listaConv = new listaConvidados();
document.getElementById("adicionarConvidado").onclick = function(){
var nome = document.getElementById("name").value;
var idade = document.getElementById("age").value;
var cpf = document.getElementById("docnum").value;
listaConv.adicionar(nome, idade, cpf);
}
document.getElementById("listAll").onclick = function () {
listaConv.listar();
}
Lucas
Curtir tópico
+ 0
Responder
Posts
29/05/2020
Allan
Vamos lá.
O elemento que você está apontando para colocar no seu HTML ainda é do tipo Object ( Arrays e Objetos compartilham o mesmo tipo Object ).
O seu erro está na função listar, que deveria criar um textNode pra cada entrada do seu objeto dentro do contexto da classe. Segue o exemplo:
O elemento que você está apontando para colocar no seu HTML ainda é do tipo Object ( Arrays e Objetos compartilham o mesmo tipo Object ).
O seu erro está na função listar, que deveria criar um textNode pra cada entrada do seu objeto dentro do contexto da classe. Segue o exemplo:
listar(){ var lista = document.getElementById("resultado"); var nome = document.createTextNode(this.convidados.nome); var idade= document.createTextNode(this.convidados.idade); var cpf = document.createTextNode(this.convidados.cpf); lista.appendChild(texto); lista.appendChild(idade); lista.appendChild(nome); }
Responder
Clique aqui para fazer login e interagir na Comunidade :)