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])
}
}
Я попытался сопоставить и задать условие, разделив идентификатор. Теперь на выходе получается одномерный массив. Если он может быть многомерным, он будет работать. Я новичок в разработке. Может ли кто-нибудь помочь ?? Я не могу сделать это вручную.
пожалуйста, добавьте также желаемый результат.
Как перечислить эти предметы? Вам нужен массив с подмассивами, представление DOM с <ul><l>...
по мере необходимости, простой текстовый вывод с фиксированным интервалом ширины в диапазоне / div и т. д.? На данном этапе очень неясно, что именно вы хотите. Как вы хотите, чтобы мы определяли дочерние отношения, я предполагаю, что это число? Какую логику синтаксического анализа следует использовать для этого числа?
Для отсортированных данных без пробелов вы можете искать только последний двойной ноль и использовать этот элемент как уровень. Затем создайте объект со вспомогательным массивом для уровней.
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 "}],
что с этим массивом?
можем ли мы отобразить это как дерево с опцией коллапса? например, будут видны только основные узлы, и если мы щелкнем по этим основным узлам, будет отображаться дочерний узел? с помощью j-запроса или java-скрипта.
пожалуйста, помогите @NinaScholz
на самом деле я не знаю, как должно выглядеть разборное дерево разыскиваемого. может быть, вы добавите попытку или лучше зададите новый вопрос о создании желаемой структуры html.
У вас есть код, который вы можете нам показать? Мы не будем писать для вас код ...