La función leftPad hará que la cadena tenga una cierta longitud rellenándola a la izquierda. ¿Cómo hacemos que la función leftPad funcione de la siguiente manera?

// If the input is empty, return an empty string
leftPad('') // ''

// When given just a string, it returns that string
leftPad('abc') // 'abc'

// When given a string and a number, it will pad the string with spaces
// until the string length matches that number. Notice that the code
// below does NOT add four spaces -- rather, it pads the string until
// the length is four
leftPad('abc', 4) // ' abc'

// If the padding given is less than the length of the initial string,
// it just returns the string
leftPad('abc', 2) // 'abc'

// If given a third argument that is a single character, it will pad
// the string with that character
leftPad('abc', 6, 'z') // 'zzzabc'

Este es el código actual que tengo para la primera parte del problema: si la entrada está vacía, devuelve una cadena vacía:

function leftPad (string, padding, character) {
    let result = ""
    if (string.length === 0) {
        return result
    }

    if (string){

    }
}
-1
Marc 17 oct. 2018 a las 00:23

2 respuestas

La mejor respuesta

No responderé toda la pregunta ya que parece ser un problema de tarea. Pero probablemente puedas hacer un buen uso de la cadena incorporada repeat función para construir el paddedString a la izquierda basado en el parámetro padding.

function leftPad(string, padding, character) {
  let result = "", padCharacter = ' ';
  if (string.length === 0) {
    return result;
  }
  
  let paddedString = padCharacter.repeat(padding);
  console.log('Left padding will be "' + paddedString + '"');
  // return something
}

leftPad('hello', 5);
leftPad('world', 10);
1
slider 16 oct. 2018 a las 21:57

Esta es una solución simple para el relleno a la izquierda o el relleno a la derecha con / sin carácter de relleno (el valor predeterminado es un espacio en blanco).

Ejemplo:
String MyNewString = rightPad (MyOldString, 12); o String MyNewString = leftPad (MyOldString, 8, "0");

public static String leftPad(String string, int length) {
    return leftPad(string, length, " ");
}

public static String leftPad(String string, int length, String pad) {
    int L = string.length();
    if (L < length)
        return pad.repeat(length - string.length()) + string;
    else
        return string;
}

public static String rightPad(String string, int length) {
    return rightPad(string, length, " ");
}

public static String rightPad(String string, int length, String pad) {
    int L = string.length();
    if (L < length)
        return string + pad.repeat(length - string.length());
    else
        return string;
}
0
WvdHooven 29 ene. 2020 a las 09:17