그룹 트리 구조, 그룹 대상, 대상 그룹

3188 단어 전단javascript
1. 수조 회전 트리 구조 제목:source=[{
            id: 1,
            pid: 0,
            name: 'body'
        }, {
            id: 2,
            pid: 1,
            name: 'title'
        }, {
            id: 3,
            pid: 2,
            name: 'div'
        }]
           : [{
                    id: 1,
                    pid: 0,
                    name: 'body',
                    children: [{
                            id: 2,
                            pid: 1,
                            name: 'title',
                            children: [{
                                id: 3,
                                pid: 1,
                                name: 'div'
                            }]
                        }
                    }]

코드 구현:

    
    
    
    toTree



    
        var source = [{
            id: 1,
            pid: 0,
            name: 'body'
        }, {
            id: 2,
            pid: 1,
            name: 'title'
        }, {
            id: 3,
            pid: 1,
            name: 'div'
        }, {
            id: 4,
            pid: 3,
            name: 'span'
        }, {
            id: 5,
            pid: 3,
            name: 'icon'
        }, {
            id: 6,
            pid: 4,
            name: 'subspan'
        }]

        function toTree(data) {
            let result = []
            if(!Array.isArray(data)) {
                return result
            }
            data.forEach(item => {
                delete item.children;
            });
            let map = {};
            data.forEach(item => {
                map[item.id] = item;
            });
            data.forEach(item => {
                let parent = map[item.pid];
                if(parent) {
                    (parent.children || (parent.children = [])).push(item);
                } else {
                    result.push(item);
                }
            });
            return result;
        }
        console.log(toTree(source))
    


2. 그룹 전환 대상 신입
let arr = ["value1", "value2", "value3"]; 
let arrObject = {};
for (let i = 0; i < arr.length; ++i) {
   if (arr[i] !== undefined) {
     arrObject[i] = arr[i];
   }
}

베테랑

let arr = ["value1", "value2", "value3"]; 
let arrObject = {...arr};

3. 대상이수 그룹 신입
let number = {
  one: 1, 
  two: 2,
};
let keys = []; 
for (let numbers in number) {
  if (number.hasOwnProperty(numbers)) {
     keys.push(numbers);
    }
}
// key = [ 'one', 'two' ]

베테랑
let numbers = {
  one: 1, 
  two: 2,
};
let key = Object.keys(numbers); // key = [ 'one', 'two' ]
let value = Object.values(numbers);  // value = [ 1, 2 ]
let entry = Object.entries(numbers); // entry = [['one' : 1], ['two' : 2]]

좋은 웹페이지 즐겨찾기