JavaScript: Взаимное преобразование массивов и списков
Создать список из массива, массив из списка.
let names = [ 'Иван Олегович', 'Олег Петрович', 'Пётр Сергеевич', 'Сергей Анатольевич', 'Анатолий Александрович' ]; function arrayToList( arr ) { let list = null; for( i = arr.length - 1; i >= 0 ; i-- ) { list = { name: arr[i], parent: list, }; } return list; } console.log( arrayToList( names ) ); /** { name : 'Иван Олегович', parent : { name : 'Олег Петрович', parent : { name : 'Пётр Сергеевич', parent : { name : 'Сергей Анатольевич', parent : { name : 'Анатолий Александрович', parent : null } } } } } */ function listToArray( list ) { let arr = []; for( node = list; node != null; node = node.parent ) { arr.push( node.name ); } return arr; } let list = arrayToList( names ); console.log( listToArray( list ) ); function addChild( name, list ) { return { name: name, parent: list, } } console.log( addChild( 'Иван Иванович', list ) );
Комментарии