Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

171
Visualizações
Cómo insertar tanto la clave como el valor en una matriz en Jquery

Estoy leyendo el feed RSS y presionando Título y Enlace en una matriz en Jquery .

lo que hice es

 var arr = []; $.getJSON("displayjson.php",function(data){ $.each(data.news, function(i,news){ var title = news.title; var link = news.link; arr.push({title : link}); }); });

Y estoy leyendo esa matriz nuevamente usando

 $('#show').click(function(){ $.each(arr, function(index, value){ alert( index +' : '+value); }); });

Pero me da salida como

 1:[Object Object] 2:[Object Object] 3:[Object Object]

Me gusta esto ...

Cómo puedo obtener mosaico y enlace como un par ( título como clave y enlace como valor )

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

No hay claves en las matrices de JavaScript. Utilizar objetos para tal fin.

 var obj = {}; $.getJSON("displayjson.php",function (data) { $.each(data.news, function (i, news) { obj[news.title] = news.link; }); }); // later: $.each(obj, function (index, value) { alert( index + ' : ' + value ); });

En JavaScript, los objetos cumplen la función de matrices asociativas. Tenga en cuenta que los objetos no tienen un "orden de clasificación" definido al iterarlos (ver más abajo).

Sin embargo , en su caso, no me queda muy claro por qué transfiere datos del objeto original ( data.news ). ¿Por qué no pasa simplemente una referencia a ese objeto?


Puede combinar objetos y matrices para lograr una iteración predecible y un comportamiento clave/valor:

 var arr = []; $.getJSON("displayjson.php",function (data) { $.each(data.news, function (i, news) { arr.push({ title: news.title, link: news.link }); }); }); // later: $.each(arr, function (index, value) { alert( value.title + ' : ' + value.link ); });
over 4 years ago · Santiago Trujillo Relatório

0

este codigo

 var title = news.title; var link = news.link; arr.push({title : link});

no está haciendo lo que crees que hace. Lo que se empuja es un nuevo objeto con un solo miembro llamado "título" y con link como valor... el valor del title real no se usa. Para guardar un objeto con dos campos tienes que hacer algo como

 arr.push({title:title, link:link});

o con los avances recientes de Javascript, puede usar el acceso directo

 arr.push({title, link}); // Note: comma "," and not colon ":"

Si, en cambio, desea que la clave del objeto sea el contenido del title de la variable, puede usar

 arr.push({[title]: link}); // Note that title has been wrapped in brackets
over 4 years ago · Santiago Trujillo Relatório

0

Creo que necesitas definir un objeto y luego insertarlo en la matriz

 var obj = {}; obj[name] = val; ary.push(obj);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda