Tengo una var K con varios parámetros A, B, L, M. Estoy tratando de poner un cuadro de incremento/decremento en "A" para que pueda cambiarse a un número mayor o menor.
Si esto es posible, debe permanecer modificado (¿guardado?) para la próxima vez o sesión que se cargue.
{ L: 34, M: 56, A: 64, B: 65 }, { L: 35, M: 55, A: 47, B: 89 }, { L: 36, M: 54, A: 85, B: 62 }, { L: 37, M: 53, A: 23, B: 11 }, ];Dado que la pregunta está etiquetada con reactjs, asumo que esta matriz de objetos se encuentra en un estado de componente, por lo que debemos hacerlo sin mutar la matriz original.
La forma más segura de hacerlo es usando un método map() de Array.prototype.
Ejemplo:
const K = [{ L: 34, M: 56, A: 64, B: 65 }, { L: 35, M: 55, A: 47, B: 89 }]; const newArray = K.map(element => ({...element, A: element.A + 1})); console.log(newArray); //[{ L: 34, M: 56, A: 65, B: 65 }, { L: 35, M: 55, A: 48, B: 89 }] Y ahora explicación. Map es un método que toma una función como argumento, donde el primer parámetro es el valor real en cada índice de una matriz y devuelve un nuevo valor en su lugar. Lo que se hizo aquí en ({...element, A: element.A + 1}) , es que el objeto se completó con las propiedades de "element", luego la propiedad A se sobrescribió con el valor de element.A + 1. Después que se devolvió como un nuevo valor. Sucedió lo mismo para cada tecla. El resultado final es una nueva matriz con cada A incrementada en 1 y asignada a newArray.
Y si tiene que permanecer en una sesión, simplemente manténgalo en un almacenamiento de sesión.
Enlaces útiles:
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map