Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

103
Vistas
La mejor manera de cortar una cadena que está almacenada en un objeto

Estoy tratando de dividir una cadena que está almacenada en un objeto, pero recibo un error porque creo que no puede usar .slice() en valores almacenados en un objeto.

paidData.id contiene el id de la factura y es una cadena, que he confirmado con typeof

 function paidCard(paidData) { // Converting epoch seconds to human readable date const invoiceDue = moment.unix(data.due_date); const invoiceDueConverted = invoiceDue.format(' MMMM Do YYYY'); // Executing the function to convert amout due. const amountDue = decimalInsert(data.amount_due); const test = paidData.id; // <--- Logged this to console and it exists const result = test.slice(5) // <--- Cant read properties of undefined error here // Shows a notification when data from database has been loaded return( <InvoiceCard paid={true} invoiceStatusIconContainerColor='rgba(2,49,7,0.7)' invoiceStatusIconColor='#29DA7A' invoiceStatusText={paidData.status} customerName={paidData.customer_name} invoiceId={paidData.id} invoiceIdTextColor='#5C5C5C' customerEmail={paidData.customer_email} customerAddress={paidData.customer_address} invoiceAmount={amountDue} invoiceDateIconStatusColor='#FA3C3C' invoiceDateText={invoiceDueConverted} /> ); }; let invoiceData = [] let paidInvoiceData = [] // Render the invoices by mapping through state. if(data && paidData && Array.isArray(data) && Array.isArray(paidData)) { invoiceData = data.map(card); paidInvoiceData = paidData.map(paidCard);

Error que estoy recibiendo

 TypeError: Cannot read properties of undefined (reading 'slice')
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No importa dónde se encuentre la cadena (en una matriz, en un objeto o en una variable). Puedes cortarlo normalmente:

 var object = {id: '12345'}; console.log(object.id.slice(0,3)); // returns 123
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede llamar al método .slice() en cualquier cadena, incluso si está almacenada en un objeto. Por ejemplo, este sería un código JS válido:

 const obj = { str: "StackOverflow is good" } console.log(str.slice(0,12)) // "StackOverflow"

Sin embargo, .slice() no muta la cadena a la que se llamó. JS no proporciona un .splice() (mutante) para cadenas, por lo que tendrá que polillenarlo. Echa un vistazo a esta pregunta para un buen polyfill.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda