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

136
Views
Recorriendo una matriz de matrices y eliminando un elemento

Mi pregunta es bastante extraña porque es para OfficeScripts. Estoy bastante seguro de que está basado en Javascript porque eso es lo que he estado escribiendo. Ahora mi pregunta. Tengo una matriz de matrices que estoy recorriendo hacia atrás para eliminar algunos elementos. básicamente, recopilé datos de fila de una tabla y luego los usé para filtrar otras tablas, y luego construí una matriz de una matriz usando ambos datos. luciendo algo como esto:

 const Data = [["Name", "Area", "Position", "Shift"]]; const otherData = [["Training A","Course A","Level","Curricula"],["Training B","Course B","Level","Curricula"],["Training C","Course C","Level","Curricula"]]; var CombinedData = otherData.map(x=>[...Data[0], ...x]); console.log(CombinedData);

Lo que busco lograr es eliminar la "Posición" de cada matriz en la matriz de matrices CombinedData. En este momento estoy escribiendo esto y está vaciando mi matriz:

 const Data = [["Name", "Area", "Position", "Shift"]]; const otherData = [["Training A","Course A","Level","Curricula"],["Training B","Course B","Level","Curricula"],["Training C","Course C","Level","Curricula"]]; var CombinedData = otherData.map(x=>[...Data[0], ...x]); console.log(CombinedData); for(let i = CombinedData.length -1; i>=0; i--){ if(CombinedData[i][2] == Data[0][2]){ CombinedData[i].splice(i,1); } } console.log(CombinedData);
Lo que me gustaría que fuera el resultado final es

 CombinedData= [["Name", "Area", "Shift","Training A","Course A","Level","Curricula"],["Name", "Area", "Shift","Training B","Course B","Level","Curricula"],["Name", "Area", "Shift","Training C","Course C","Level","Curricula"]];

Lo cual obviamente no está funcionando. ¿Alguna idea sobre lo que tengo que hacer? JavaScript no es mi lenguaje más fuerte y soy completamente nuevo en OfficeScripts. Agradezco cualquier ayuda.

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

0

El problema es con splice(i, 1) , esto debería ser splice(2, 1) ya que necesita eliminar el elemento 2 (indexado).

 const Data = [["Name", "Area", "Position", "Shift",]]; const otherData = [["Training A","Course A","Level","Curricula"],["Training B","Course B","Level","Curricula"],["Training C","Course C","Level","Curricula"]]; var CombinedData = otherData.map(x=>[...Data[0], ...x]); for(let i = CombinedData.length -1; i>=0; i--){ if(CombinedData[i][2] == Data[0][2]){ CombinedData[i].splice(2,1); } } console.log(CombinedData);

about 4 years ago · Juan Pablo Isaza Report

0

Dado que solo usa el elemento 0 de Data , solo filtre eso una vez y utilícelo en su combinación:

 const Data = [["Name", "Area", "Position", "Shift",]]; const otherData = [["Training A","Course A","Level","Curricula"],["Training B","Course B","Level","Curricula"],["Training C","Course C","Level","Curricula"]]; var elem0 = Data[0].filter( y => y != "Position" ) var CombinedData = otherData.map(x=>[...elem0, ...x]); console.log(CombinedData);

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!