Necesito tratar el resultado de la API para que no reciba valores menores a 0, lo he estado intentando de esta manera y hasta ahora no he podido:
private handleChart(data: Object): void { const series = []; for (const [key, value] of Object.entries(data)) { series.push({ name: key, data: value, type: "line", }); } if (series[0].data.length < 0) { delete series[0].data; } console.log(data ); this.plotChart(series); }Codigo original:
private handleChart(data: Object): void { const series = []; for (const [key, value] of Object.entries(data)) { series.push({ name: key, data: value, type: "line", }); } this.plotChart(series); }Suponiendo que su objeto de datos es:
const obj = {'jan':100,'feb':200, 'mar':-100,'apr':250};Puede filtrar y mapear su resultado de Object.entries como:
Object.entries(obj) .filter(arr=> +arr[1] >= 0) .map(arr=>{return{name:arr[0],data:+arr[1],type:'line'}});El resultado sería:
[ {"name": "jan","data": 100,"type": "line"}, {"name": "feb","data": 200,"type": "line"}, {"name": "apr","data": 250,"type": "line"} ]O si quieres bajar los valores negativos:
Object.entries(obj) .map(arr=>{return{name:arr[0],data:+arr[1] >= 0 ? +arr[1] : 0,type:'line'}});Resultado:
[ {"name": "jan","data": 100,"type": "line"}, {"name": "feb","data": 200,"type": "line"}, {"name": "mar","data": 0,"type": "line"}, {"name": "apr","data": 250,"type": "line"} ]