I have a function that I will adapt for a button, which will exchange a data within an array, between S
and N
.
The code I have is:
var array = [{"nome":"1","faltou":"N","goleiro":"N","pago":"N"},{"nome":"2","faltou":"N","goleiro":"N","pago":"N"},{"nome":"3","faltou":"N","goleiro":"N","pago":"N"}];
function toggleArrayItem(a, v, d) {
var i = a.findIndex(function(val){
return val.nome === v;
});
if (i != -1){
var data = a[i];
if(d === 'faltou'){
const isOn = (data.faltou = 'N');
a[i] = ({"nome":data.nome, "faltou":isOn ? 'N' : 'S', "goleiro":data.goleiro, "pagou":data.pagou});
} else if(d === 'goleiro'){
const isOn = data.goleiro = 'N';
a[i] = ({"nome":data.nome, "faltou":data.faltou, "goleiro":isOn ? 'N' : 'S', "pagou": data.pagou});
} else if(d === 'pagou'){
const isOn = data.pagou = 'N';
a[i] = ({"nome":data.nome, "faltou":data.faltou, "goleiro":data.goleiro, "pagou": isOn ? 'N' : 'S'});
}
}
}
toggleArrayItem(array, '1', 'faltou');.
It just is not working properly, and I wanted to lower the code. I'm using localStorage in JSON.
How to proceed?