Сгруппировать элементы, связанные с 10-значным ключом?

    This has to be grouped using logic since it has large number of item.statically giving values using j query wont work for me.

Это массив элементов, по идентификатору мне нужно отформатировать его в виде дерева

    [{"ID":"0200000000", "Name":"a"},
     {"ID":"0201000000", "Name":"b"},
     {"ID":"0201010000", "Name":"c",},
     {"ID":"0201010100", "Name":"d", },
     {"ID":"0201010200", "Name":"e",},
     {"ID":"0201010300", "Name":"f",},
     {"ID":"0300000000", "Name":"g"},
     {"ID":"0301000000", "Name":"h"},
     {"ID":"0301010000", "Name":"i"},
     {"ID":"0301010100", "Name":"j"},
     {"ID":"0301010200", "Name":"k"},
     {"ID":"0301010300", "Name":"l"},
     {"ID":"0301010400", "Name":"m"},
     {"ID":"0400000000", "Name":"n"}]

    This should be the result.It is based on the ID from the array.
   I am using j query in front end and java script in back end   
    -a
       -b
          -c
          -d
          -e
          -f
    -g
       -h
          -i
          -j
          -k
          -l    
          -m
    -n




  for (i = 1; i < 14; i++) {
      item2[i] = resultArray1[i]
      item5[i] = resultArray[i + 1]
      item[i] = resultArray1[i].split("", 10);
      item1[i] = resultArray1[i + 1].split("", 10);

        if (item[i][1] != item1[i][1]) {

          if (k == 1) {
            item6.push(item5[i])
          }

          if (k == 3) {
            item6.push(item5[i])    
          }

          if (k == 5) {

            item6.push(item5[i])
          }

          if (k == 7) {

            item6.push(item5[i])
          }

          if (k == 9) {

            item6.push(item5[i])
          }

     }

Я попытался сопоставить и задать условие, разделив идентификатор. Теперь на выходе получается одномерный массив. Если он может быть многомерным, он будет работать. Я новичок в разработке. Может ли кто-нибудь помочь ?? Я не могу сделать это вручную.

У вас есть код, который вы можете нам показать? Мы не будем писать для вас код ...

Mario Murrent 02.05.2018 13:42

пожалуйста, добавьте также желаемый результат.

Nina Scholz 02.05.2018 13:43

Как перечислить эти предметы? Вам нужен массив с подмассивами, представление DOM с <ul><l>... по мере необходимости, простой текстовый вывод с фиксированным интервалом ширины в диапазоне / div и т. д.? На данном этапе очень неясно, что именно вы хотите. Как вы хотите, чтобы мы определяли дочерние отношения, я предполагаю, что это число? Какую логику синтаксического анализа следует использовать для этого числа?

Nope 02.05.2018 13:44
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
59
1

Ответы 1

Для отсортированных данных без пробелов вы можете искать только последний двойной ноль и использовать этот элемент как уровень. Затем создайте объект со вспомогательным массивом для уровней.

var array = [{ ID: "0200000000", Name: "a" }, { ID: "0201000000", Name: "b" }, { ID: "0201010000", Name: "c", }, { ID: "0201010100", Name: "d", }, { ID: "0201010200", Name: "e", }, { ID: "0201010300", Name: "f", }, { ID: "0300000000", Name: "g" }, { ID: "0301000000", Name: "h" }, { ID: "0301010000", Name: "i" }, { ID: "0301010100", Name: "j" }, { ID: "0301010200", Name: "k" }, { ID: "0301010300", Name: "l" }, { ID: "0301010400", Name: "m" }, { ID: "0400000000", Name: "n" }],
    result = [],
    levels = [{ children: result }];

array.forEach(({ ID, Name }) => {
    var path = ID.match(/(..)/g).concat('00'),
        level = path.findIndex(s => s === '00') - 1;

    levels[level].children = levels[level].children || [];
    levels[level].children.push(levels[level + 1] = { Name });
});

console.info(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

var array = [{ID: "0200000000", Name: "a"}, {ID: "0201000000", Name: "b"}, {ID: "0201010000", Name: "c",}, {ID: "0201010100", имя: "d",}, {ID: "0201010200", имя: "e",}, {ID: "0201010300", имя: "f",}, {ID: "0300000000", имя : "g"}, {ID: "0301000000", Имя: "h"}, {ID: "0301010000", Имя: "i"}, {ID: "0301010100", Имя: "j"}, {ID : "0301010200", имя: "k"}, {ID: "0301010300", имя: "l"}, {ID: "0301010400", имя: "m"}, {ID: "0400000000", имя: " n "}],

CaliCo 07.05.2018 07:33

что с этим массивом?

Nina Scholz 07.05.2018 08:16

можем ли мы отобразить это как дерево с опцией коллапса? например, будут видны только основные узлы, и если мы щелкнем по этим основным узлам, будет отображаться дочерний узел? с помощью j-запроса или java-скрипта.

CaliCo 07.06.2018 12:00

пожалуйста, помогите @NinaScholz

CaliCo 07.06.2018 13:25

на самом деле я не знаю, как должно выглядеть разборное дерево разыскиваемого. может быть, вы добавите попытку или лучше зададите новый вопрос о создании желаемой структуры html.

Nina Scholz 07.06.2018 13:28

Другие вопросы по теме