const input = 'i wanter Cats and dogs.' const convert = ( input ) => { const arr = input . substring ( 0 , input . length - 1 ). split ( ' ' ) const result = new Map () arr . forEach ( item => { const key = item . length if ( result . has ( key )){ result . set ( item . length , result . get ( key ) + ' ' + item ) } else result . set ( item . length , item ) }) const sorted = new Map ([... result . entries ()]. sort ()) let sentense = '' const values = Array . from ( sorted . values ()) values . forEach (( value , i ) => { const word = value . toLowerCase () if ( i === 0 ) sentense = sentense . concat ( word . substring ( 0 , 1 ). toUpperCase ()). concat ( word . substring ( 1 )) else sentense = sentense . concat ( word ) if ( i === values . length - 1 ) ...