Quick actions

cmd+k|ctrl+k

Navigation

Languages

Object transformation

Snippet info

Language

JavaScript

Visibility

public

Author

paulkotov

Created

2018-04-12T12:49:02Z

Updated

2021-04-21T20:56:18.239941Z

const treeData = [
    { name: 'Москва',
      expanded: true,
      children: [{ name: 'Подразделение организации', 
        expanded: true,
        children: [{
          name: 'Аппарат управления',
          expanded: true,
          children: [{ name: 'Профсоюзный комитет' }, { name: 'Генеральный директор', 
            expanded: true,
            children: [{ name: 'Заместитель генерального директора' }, { name: 'Директор по развитию' }, { name: 'Директор по безопасности' }]
          }, {
            name: 'Бухгалтерия',
            expanded: true,
            children: [{ name: 'Главный бухгалтер' }, { name: 'Заместитель главного бухгалтера' }, { name: 'Договорной отдел' }]
          }]
        }] 
      }],
    }
];

function transformObj(obj, level){
    let resObjs = {
        label: obj.name,
        value: obj.name, //transliteration
        key: level
    };
    
    if (typeof obj == 'object'){
        return null;
    }
    if (obj.children.length !== 0){
        resObj['children'] = [];
        obj.children.map((child, index) => {
            resObj['children'].push(transformObj(item, level+index.toString()));
            });
        }
    return resObj;
}

let rulesList = [];

function rules(data){
  if (typeof data !== 'object') {
    return rulesList;
  }
  data.map( item => {
    rulesList.push(item.name);
    if (item.children !== 'undefined'){
            // console.log(item.children);
      rules(item.children);
    }
  });
  return rulesList;
}

function setRules(data){
  rules(data);
  return rulesList;
}

const strg = 'Павел Вал Котов Руков Главный [email protected] 2';

function getUserInfo(str){
  return str.split(' ');   
}

const arr= getUserInfo(strg);
console.log(setRules(treeData));
// console.log(typeof treeData);
// console.log(arr);
INFO