En mi almacenamiento local, tengo un valor de puntaje almacenado en una matriz
var obj = localStorage.getItem("scoreList")producción
[0,10,10,0,10]Quiero la suma de este valor como y volver al valor de los datos.
sum = 30He intentado convertir en valor de cadena
var string = JSON.stringify(obj); output "[0,10,10,0,10]"¿Cómo puedo ejecutar este valor de suma?
[0,10,10,0,10].reduce((sum, a) => sum + a, 0);
localStorage.getItem("scoreList").replace(/(\[|\])/g, '').split(",").map(x => parseFloat(x)).reduce((a,b) => a+b, 0)una forma sencilla:
JSON.parse(localStorage.getItem("scoreList")).reduce((x, y) => x + y)Si establece el valor de scoreList como una matriz, es decir:
localStorage.setItem('scoreList', [0,10,10,0,10]) Cuando lo recupere, seguirá siendo una cadena, por lo que no es necesario ningún otro tipo de validación o transformación de tipo de datos como lo hizo con JSON.stringfy . Lo siguiente debería ser suficiente:
const obj = localStorage.getItem("scoreList") const total = obj.reduce((sum, item) => sum + item, 0); //total = 30