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 ) );


JavaScript up: просмотров: 72