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

141
Vistas
¿Hay alguna manera de ordenar matrices paralelas que contienen cadenas mediante una ordenación por selección?

Tengo que escribir un programa que tome 2 matrices paralelas, una con el título de cinco libros y luego otra con las fechas de publicación de los libros. Todos los ejemplos que he visto usando una ordenación por selección están ordenando números enteros de menor a mayor. ¿Hay alguna manera de cambiar las fechas de la cadena en un valor numérico más adelante en el programa? Se supone que debo mostrar la lista inicial primero y luego nuevamente después de que se haya pedido.

Aquí está mi código para las matrices.

 function getBooks() { var bookTitles = new Array(); bookTitles[0] = " To Kill a Mockingbird "; bookTitles[1] = " Jaws "; bookTitles[2] = " Don Quixote "; bookTitles[3] = " Moby-Dick "; bookTitles[4] = " Northern Lights "; var bookDates = new Array(); bookDates[0] = " July 11, 1960 "; bookDates[1] = " Febuary 1, 1974 "; bookDates[2] = " July 11, 1615 "; bookDates[3] = " October 18, 1851 "; bookDates[4] = " November 12, 1995 "; document.getElementById("book_output").innerHTML = bookTitles + "</br> " + bookDates; }

HTML.

 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>CIS 223 Lab Assignment #9</title> </head> <body onload="getBooks()"> <script type="text/javascript" src="Drackley_Lab9_2.js" charset="utf-8"></script> <h3 id="book_output"></h3> </body> </html>
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Una forma de resolver esto es combinar las dos matrices en una matriz de objetos con una marca de tiempo (de convertir la cadena de fecha en un objeto de fecha) y luego ordenar esa matriz según las marcas de tiempo. Luego puede usar la matriz ordenada para generar su HTML de salida:

 var bookTitles = new Array(); bookTitles[0] = " To Kill a Mockingbird "; bookTitles[1] = " Jaws "; bookTitles[2] = " Don Quixote "; bookTitles[3] = " Moby-Dick "; bookTitles[4] = " Northern Lights "; var bookDates = new Array(); bookDates[0] = " July 11, 1960 "; bookDates[1] = " February 1, 1974 "; bookDates[2] = " July 11, 1615 "; bookDates[3] = " October 18, 1851 "; bookDates[4] = " November 12, 1995 "; books = bookTitles .map((e, i) => ({ title: e, date: bookDates[i], ts: new Date(bookDates[i]).getTime() })) .sort((a, b) => a.ts - b.ts) result = document.getElementById('result') result.innerHTML = '<table>' + books.map(o => '<tr><td>' + o.title + '</td><td>' + o.date + '</td></tr>').join('') + '</table>'
 <div id="result"></div>

about 4 years ago · Santiago Trujillo Denunciar

0

Puede convertir sus fechas en números enteros usando Date.parse() .

 console.log(Date.parse(" July 11, 1960 ")); console.log(Date.parse(" Febuary 1, 1974 ")); console.log(Date.parse(" November 12, 1995 "));

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