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

108
Views
¿Es posible ordenar una matriz de acuerdo con el orden de clasificación obtenido al ordenar otra matriz?

Aquí tengo dos matrices en código javascript

 const array1 = [200, 455.23, -306.5, 9000, -642.21, -133.9, 79.97, 1300]; const array2 = [ '2019-11-18T21:31:17.178Z', '2019-12-23T07:42:02.383Z', '2020-01-28T09:15:04.904Z', '2020-04-01T10:17:24.185Z', '2022-04-08T14:11:59.604Z', '2022-04-10T17:01:17.194Z', '2022-04-11T23:36:17.929Z', '2022-04-13T10:51:36.790Z', ]; array1.sort((a, b) => a - b);

Aquí quiero que array2 se ordene exactamente en el mismo orden en que se ordena array1. suponga que cada elemento de ambas matrices en el mismo índice tiene que estar en el mismo índice incluso después de ordenar matriz1. En resumen, quiero ordenar una matriz. Y quiero que la otra matriz esté ordenada exactamente en el mismo orden.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Aquí va un ejemplo de cómo implementar la sugerencia anterior, donde ambos valores están en una sola matriz, como objetos, y ordenados por el valor de cada objeto en la matriz.

 const myArray = [ {date: '2019-11-18T21:31:17.178Z', value: 200}, {date: '2019-12-23T07:42:02.383Z', value: 455.23}, {date: '2020-01-28T09:15:04.904Z', value: -306.5}, {date: '2020-04-01T10:17:24.185Z', value: 9000}, {date: '2022-04-08T14:11:59.604Z', value: -642.21}, {date: '2022-04-10T17:01:17.194Z', value: -133.9}, {date: '2022-04-11T23:36:17.929Z', value: 79.97 }, {date: '2022-04-13T10:51:36.790Z', value: 1300}, ] myArray.sort((a, b) => a.value - b.value) console.log(myArray);

about 4 years ago · Juan Pablo Isaza Report

0

Primero cree una matriz de objetos literales que contenga los pares de valores. Luego use la tecla sortby para ordenar esa matriz. ¡Estás listo!

 const array1 = [200, 455.23, -306.5, 9000, -642.21, -133.9, 79.97, 1300]; const array2 = ['2019-11-18T21:31:17.178Z','2019-12-23T07:42:02.383Z','2020-01-28T09:15:04.904Z','2020-04-01T10:17:24.185Z','2022-04-08T14:11:59.604Z','2022-04-10T17:01:17.194Z','2022-04-11T23:36:17.929Z','2022-04-13T10:51:36.790Z',]; const sorted = array1.map((a1,index)=>{return {sortBy: a1, value: array2[index]}}).sort((a,b)=>a.sortBy-b.sortBy); console.log(sorted); //------------------------------------------------------- //or in a function const sortArrayByAnother = (arr, sortBy) => { return sortBy.map((a1,index)=>{return {sortBy: a1, value: arr[index]}}).sort((a,b)=>a.sortBy-b.sortBy).map((d)=>d.value); } console.log(sortArrayByAnother(array2, array1));

about 4 years ago · Juan Pablo Isaza Report

0

Para ordenar 2 o más arreglos sin combinarlos, cree un arreglo de índices ordenados según uno de los arreglos, luego reordene los arreglos según el arreglo de índices.

 const array1 = [200, 455.23, -306.5, 9000, -642.21, -133.9, 79.97, 1300]; const array2 = [ '2019-11-18T21:31:17.178Z', '2019-12-23T07:42:02.383Z', '2020-01-28T09:15:04.904Z', '2020-04-01T10:17:24.185Z', '2022-04-08T14:11:59.604Z', '2022-04-10T17:01:17.194Z', '2022-04-11T23:36:17.929Z', '2022-04-13T10:51:36.790Z', ]; // create array of sorted indexes according to array1 var index = Array.from(Array(array1.length).keys()) .sort((a, b) => array1[a] < array1[b] ? -1 : (array1[b] < array1[a]) | 0) // reorder array1, array2, index in place according to index in O(n) time var i; var j; var k; var t1; var t2; for(i = 0; i < index.length; i++){ if(i != index[i]){ t1 = array1[i]; t2 = array2[i]; k = i; while(i != (j = index[k])){ array1[k] = array1[j]; array2[k] = array2[j]; index[k] = k; k = j; } array1[k] = t1; array2[k] = t2; index[k] = k; } } console.log(array1); console.log(array2);

about 4 years ago · Juan Pablo Isaza 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!