Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

206
Vistas
¿Cómo seleccionar los primeros 2 elementos de una matriz?

Quiero seleccionar los primeros 2 elementos de una matriz y también seleccionar solo el nombre de cada persona de un objeto, no el nombre completo.

Estos son mis códigos:

índice.html

 <body> <button onclick="loadajax();">laod ajax</button> <div id = "update"></div> <script src="jquery.js"></script> <script src="script.js"></script> </body>

guión.js

 function loadajax(){ var request; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObject("Microsoft.XMLHTTP"); } request.open('GET', 'data.json'); request.onreadystatechange = function() { if ((request.readyState===4) && (request.status===200)) { var items = JSON.parse(request.responseText); var output = '<ul>'; for (var key in items) { output += '<li>his name is:' + items[key].name + ' with the id of:'+ items[key].id +'</li>'; } output += '</ul>'; document.getElementById('update').innerHTML = output; } } request.send(); }

datos.json

 [ { "name":"Barot Bellingham", "id":"1" }, { "name":"alex benjan", "id":"2" }, { "name":"jony lekson", "id":"3" } ]

estos son los resultados:

  • su nombre es: Barot Bellingham con la identificación de: 1
  • su nombre es: alex benjan con el id de: 2
  • su nombre es:jony lekson con el id de:3

pero lo que quiero es esto:

  • su nombre es: Barot con el id de: 1
  • su nombre es: alex con el id de: 2

¿tienes una idea de cómo hacer esto?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puedes usar slice :

 for (let key in items.slice(0, 2)) { // ...etc

Pero, en general, se recomienda no usar for...in en arreglos. Use for..of (o forEach ), en combinación con la desestructuración y un literal de plantilla:

 for (let {name, id} of items.slice(0, 2)) { output += `<li>his name is: ${name} with the id of: ${id}</li>` }

O, mejor aún, usa map en combinación con join :

 let output = '<ul>' + items.slice(0, 2).map(({name, id}) => `<li>his name is: ${name} with the id of: ${id}</li>` ).join('') + '</ul>';

El primer nombre se puede extraer tomando la primera palabra con split (esto no es 100% correcto, ya que algunos nombres pueden constar de dos o más palabras):

 let output = '<ul>' + items.slice(0, 2).map(item => `<li>his name is: ${item.name.split(' ')[0]} with the id of: ${id}</li>` ).join('') + '</ul>';

NB: Esto tiene poco que ver con Ajax o JSON, solo con los métodos de bucle y matriz.

about 4 years ago · Santiago Trujillo Denunciar

0

Otro enfoque que devuelve una matriz:

 var jsonArray = [ { "name":"Barot Bellingham", "id":"1" }, { "name":"alex benjan", "id":"2" }, { "name":"jony lekson", "id":"3" } ]; var user = jsonArray .map((user, index) => { return { 'id': user.id, 'name' : user.name.split(' ')[0] }; }).slice(0, 2)

salida: // [{"id":"1","name":"Barot"},{"id":"2","name":"alex"}]

about 4 years ago · Santiago Trujillo Denunciar

0

generalmente para obtener 2 primeros elementos de la matriz:

 const items = [1, 2, 3]; const [first, second] = items; // 1, 2

En tu caso sería así:

 const [first, second] = items.map(({name, id}) => ({firstName: name.split(' ')[0], id}));
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda