Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

205
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!