es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Hay alguna manera de que cuando presione los datos no muestre la salida de la última línea?

let fila = warehouse_delivery_transaction.find(x => x.kerry_status_name === ‘CCC’)
if (!fila) {
let item = warehouse_delivery_transaction.find(x => x.kerry_status_name === ‘BBB’)
if (item) {
warehouse_delivery_transaction.push({
code: item.code,
kerry_status_name: ‘CCC’,
location: ”,
status_date: item.status_date
})
}
}

Output antes:
ninguno
1.AAA
2.BBB
3.DDD

Output Después de agregar datos:
ninguno
1.AAA
2.BBB
3.CCC
4.DDD

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el código proporcionado, parece que el objetivo es encontrar la primera fila en el array warehouse_delivery_transaction que tenga un kerry_status_name de CCC. Si no se encuentra tal fila, entonces encontrar la primera fila que tenga un kerry_status_name de BBB y usar esa información para agregar un nuevo objeto en el array warehouse_delivery_transaction. El nuevo objeto tendrá kerry_status_name de CCC y una propiedad status_date tomada del objeto item.

    La salida antes de agregar el nuevo objeto luce así:

    1.AAA
    2.BBB
    3.DDD
    

    La salida deseada después de agregar el nuevo objeto es:

    1.AAA
    2.BBB
    3.CCC
    4.DDD
    

    Para lograr esta salida, necesitamos modificar el código para insertar el nuevo objeto en el índice apropiado en el array warehouse_delivery_transaction. Una forma de hacer esto es usando el método splice, que puede ser usado para agregar o remover elementos de un array.

    Aquí está el código modificado:

    let row = warehouse_delivery_transaction.find(x => x.kerry_status_name === 'CCC');
    if (!row) {
      let item = warehouse_delivery_transaction.find(x => x.kerry_status_name === 'BBB');
      if (item) {
        let index = warehouse_delivery_transaction.indexOf(item);
        warehouse_delivery_transaction.splice(index + 1, 0, {
          code: item.code,
          kerry_status_name: 'CCC',
          location: '',
          status_date: item.status_date
        });
      }
    }
    

    Aquí, primero encontramos la fila row con kerry_status_name de CCC, similar al código original, pero no necesitamos hacer nada con ella.

    Si no se encuentra row, procedemos a encontrar el item con kerry_status_name de BBB, similar al código original.

    Si se encuentra item, usamos el método indexOf para obtener el índice de item en el array warehouse_delivery_transaction. Le sumamos 1 a este índice para obtener el índice donde queremos insertar el nuevo objeto. Usamos el método splice para insertar el nuevo objeto en el índice deseado.

    La salida después de agregar el nuevo objeto será:

    1.AAA
    2.BBB
    3.CCC
    4.DDD
    

Comments are closed.