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

206
Views
algoritmo de clasificación de datos de comentarios con php o javascript
const comments = [ { 'id': 1, 'origin_id': 0 }, { 'id': 2, 'origin_id': 0 }, { 'id': 3, 'origin_id': 2 }, { 'id': 4, 'origin_id': 2 }, { 'id': 5, 'origin_id': 3 }, { 'id': 6, 'origin_id': 3 }, { 'id': 7, 'origin_id': 0 }, { 'id': 8, 'origin_id': 0 }, { 'id': 9, 'origin_id': 0 }, { 'id': 10, 'origin_id': 0 }, ]; // or? data structure somthing like this? i dont konw how to use such order and depth. const comments = [ { 'id': 1, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 2, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 3, 'origin_id': 2, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 4, 'origin_id': 2, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 5, 'origin_id': 3, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 6, 'origin_id': 3, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 7, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 8, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 9, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, { 'id': 10, 'origin_id': 0, 'reply_order': 0, 'reply_depth': 0 }, ];

quiero algún algoritmo algo así como comentarios en comentario. ¿Es eso posible con solo esa cantidad de datos?

si alguien conoce alguna forma mejor de implementar esos objetivos, por favor, dígame.

Quiero un concepto de esto. cualquier código lang estaría bien conmigo. pero prefiero PHP y JS.

 const comments = [ { 'id': 1, 'origin_id': 0 }, { 'id': 2, 'origin_id': 0 }, { 'id': 3, 'origin_id': 2 }, { 'id': 4, 'origin_id': 2 }, { 'id': 5, 'origin_id': 3 }, { 'id': 6, 'origin_id': 3 }, ]; // result i expected; const result_comments = [ { 'id': 1, 'origin_id': 0 }, { 'id': 2, 'origin_id': 0, 'children': [{ 'id': 3, 'origin_id': 2, 'children': [{ 'id': 5, 'origin_id': 3 }, { 'id': 6, 'origin_id': 3 },] }, { 'id': 4, 'origin_id': 2 }] }, ];
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El objeto anidado aquí es básicamente como un árbol y los comentarios se convierten en nodos de árbol. primero, cree un diccionario con la propiedad de los niños y luego asigne los niños a partir de él.

la identificación de los comentarios se crea en orden ascendente, por lo que no necesita volver a ordenarlos después de crearlos.

 // assuming that id are sorted, else you have to sort comments by id. const comments = [ { 'id': 1, 'origin_id': 0 }, { 'id': 2, 'origin_id': 0 }, { 'id': 3, 'origin_id': 2 }, { 'id': 4, 'origin_id': 2 }, { 'id': 5, 'origin_id': 3 }, { 'id': 6, 'origin_id': 3 }, ]; // creating dictinary where key is id and value is object with added children property let dic = comments.reduce((acc, obj) => (acc[obj.id] = {...obj, children : [] }, acc), {}); // initial set let treeRoot = {'id': 0, 'origin_id': 0 , children : []}; // adding in dictionary so i can add origin_id 0 to tree root dic[treeRoot.id] = treeRoot; // populating the childrens comments.forEach(obj => dic[obj.origin_id].children.push(dic[obj.id])); // if you want the array that inside treeRoot.children console.log(treeRoot);

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!