Pluralizar Cadenas en JavaScript

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos el concepto de pluralizar cadenas en JavaScript. Aprenderás cómo usar una clausura para definir una función que puede devolver la forma singular o plural de una palabra basada en un número de entrada. Además, tendrás la oportunidad de practicar el uso de argumentos opcionales y diccionarios para personalizar el comportamiento de la función. Al final de este laboratorio, tendrás una comprensión sólida de cómo manejar la pluralización en tus proyectos de JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/str_manip("String Manipulation") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") subgraph Lab Skills javascript/variables -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/data_types -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/arith_ops -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/comp_ops -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/cond_stmts -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/str_manip -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} javascript/array_methods -.-> lab-28548{{"Pluralizar Cadenas en JavaScript"}} end

Pluralizar una Cadena

Para pluralizar una palabra basada en un número dado, utiliza la función pluralize. Comienza abriendo la Terminal/SSH y escribiendo node. Esta función puede devolver la forma singular o plural de la palabra, dependiendo del número de entrada. También puedes suministrar un diccionario opcional para utilizar formas plurales personalizadas.

Para definir la función pluralize, utiliza una clausura que tome la palabra y una forma plural opcional. Si la entrada num es -1 o 1, devuelve la forma singular de la palabra. De lo contrario, devuelve la forma plural. Si no se suministra una forma plural personalizada, la función utilizará el valor predeterminado de la forma singular de la palabra + s.

Si el primer argumento es un objeto, la función pluralize devuelve una nueva función que puede utilizar el diccionario suministrado para resolver la forma plural correcta de la palabra.

Aquí está la función pluralize en acción:

const pluralize = (val, word, plural = word + "s") => {
  const _pluralize = (num, word, plural = word + "s") =>
    [1, -1].includes(Number(num)) ? word : plural;
  if (typeof val === "object")
    return (num, word) => _pluralize(num, word, val[word]);
  return _pluralize(val, word, plural);
};

Puedes utilizar la función pluralize de la siguiente manera:

pluralize(0, "apple"); // 'apples'
pluralize(1, "apple"); // 'apple'
pluralize(2, "apple"); // 'apples'
pluralize(2, "person", "people"); // 'people'

Si tienes un diccionario de formas plurales personalizadas, puedes crear una función autoPluralize que automáticamente utilice la forma plural correcta para una palabra dada:

const PLURALS = {
  person: "people",
  radius: "radii"
};
const autoPluralize = pluralize(PLURALS);
autoPluralize(2, "person"); // 'people'

Resumen

¡Felicidades! Has completado el laboratorio de Pluralizar una Cadena. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.