Поиск верхнего родителя

298
11 апреля 2022, 05:10

Есть массив Объектов. В объекте данные об имени, id и если есть родительский элемент, то еще и родительский элемент. Необходимо получить объект файлов с путями, где ключом является id, а значением путь.

 arr = [
   {
    id: 1,
    name: 'Anthony',
    parent_id: '',
    parent_name: ''
   },
   {
    id: 2,
    name: 'Klay',
    parent_id: 1,
    parent_name:'Anthony'
   },
   {
    id: 3,
    name: 'Sam',
    parent_id: '',
    parent_name:''
   }
  ]

Нужно вывести в таком виде

{
   1: '/ > Anthony',
   2: '/ > Anthony > Klay',
   3: '/ > Sam'
  }

Если добавить еще один элемент, например:

{
    id: 4,
    name: 'Stephen',
    parent_id: '2',
    parent_name:'Anthony'
   }

Результат должен быть следующим:

4: '/ > Anthony > Klay > Stephen'
Answer 1

    arr = [ 
        { 
            id: 1, 
            name: 'Anthony', 
            parent_id: '', 
            parent_name: '' 
        }, 
        { 
            id: 2, 
            name: 'Klay', 
            parent_id: 1, 
            parent_name:'Anthony' 
        }, 
        { 
            id: 3, 
            name: 'Sam', 
            parent_id: '', 
            parent_name:'' 
        } 
    ]; 
 
    let newArr = []; 
 
    arr.forEach(function (c) { 
        if (c.parent_name != ""){ 
            newArr[c.id] = "'/ > " + c.parent_name + " > " + c.name + "'"; 
        } else { 
            newArr[c.id] = "'/ > " + c.name; 
        } 
    }); 
    console.log(newArr);

READ ALSO
Ajax метод POST не отправляет на сервер данные

Ajax метод POST не отправляет на сервер данные

Дело в том, что ajax не отправляет данные на серверПодскажите пожалуйста из-за чего такое может быть

171
Равновеликие массивы

Равновеликие массивы

Назавём две массивы равновеликими , если только один раз в одном из массивов, сменив места одной пары из элементов , мы получим другой массивНапример...

212
Сохранение выбранных значений в поле в Select2

Сохранение выбранных значений в поле в Select2

Всем привет! Я использую плагин Select2 для выбора значенийЯ выбираю значения, они красиво вставляются в input

85
Не меняется значение value в input

Не меняется значение value в input

Есть данный код, не могу заставить изменяться поля для ввода, при вводе данный ничего не происходит

171