Wesley Goncalves Postado Dezembro 2, 2022 Denunciar Share Postado Dezembro 2, 2022 (editado) Boa tarde! Alguém sabe como faço para calcular a mediana de checkbox's selecionados? Tenho uma tabela mysql, e quero que me mostre a mediana dos valores conforme seleciono os checkbox's. Editado Dezembro 2, 2022 por Wesley Goncalves Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Dezembro 2, 2022 Denunciar Share Postado Dezembro 2, 2022 (editado) Eu tentei usar a fórmula do JavaScript fundamental (ES6 Syntax): Get the median of an array of numbers - w3resource, mas não deu certo. Não sei o que eu fiz de errado: <script> function atual(){ arr=[] if(inp1.checked){arr.push(inp1.value)} if(inp2.checked){arr.push(inp2.value)} if(inp3.checked){arr.push(inp3.value)} if(inp4.checked){arr.push(inp4.value)} if(inp5.checked){arr.push(inp5.value)} const median = vr => { const mid = Math.floor(vr.length / 2), nums = [...vr].sort((a, b) => a - b); return vr.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;}; console.log(median([5,6,50,1,-5])) console.log(median([1,2,3,45])) painel.innerHTML="Valores dos checkbox ativos "+arr+"<br>Mediana "+median(arr)} </script> <table> <tr><td><input id=inp1 type=checkbox value=1 name=arr[] onclick=atual()>1 <tr><td><input id=inp2 type=checkbox value=2 name=arr[] onclick=atual()>2 <tr><td><input id=inp3 type=checkbox value=3 name=arr[] onclick=atual()>3 <tr><td><input id=inp4 type=checkbox value=4 name=arr[] onclick=atual()>4 <tr><td><input id=inp5 type=checkbox value=5 name=arr[] onclick=atual()>5 </table> <div id=painel><div> No código JavaScript tem dois testes que deveriam dar 5 e 3, mas está dando 5 e 2,5. Editado Dezembro 2, 2022 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
1 lowys Postado Dezembro 3, 2022 Denunciar Share Postado Dezembro 3, 2022 (editado) Checkbox em uma tabela mysql? Q programa está usando pra visualizar essa tabela mysql? A sugestão do sr. Frank é para tabela html Editado Dezembro 3, 2022 por lowys Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Dezembro 3, 2022 Denunciar Share Postado Dezembro 3, 2022 24 minutos atrás, lowys disse: Checkbox em uma tabela mysql? Q programa está usando pra visualizar essa tabela mysql? A sugestão do sr. Frank é para tabela html Hahaha... Eu não vi que os valores vinham do MySQL. Que mancada! Mas de todo jeito, o mais importante é o cálculo da mediana. Ele funciona se você colocar o código JavaScript sozinho, se bem que esse código é bem difícil de entender, eu não sei o que é aquele [...arr]. Você já viu um negócio desses? Citar Link para o comentário Compartilhar em outros sites More sharing options...
1 wash Postado Dezembro 3, 2022 Denunciar Share Postado Dezembro 3, 2022 (editado) 17 minutos atrás, Frank K Hosaka disse: eu não sei o que é aquele [...arr]. Você já viu um negócio desses? Bão sr. @Frank K Hosaka? Eu já vi! Isso daí se chama spread operator: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax No caso da função median foi usado para não alterar o array original, uma vez que no js se passa a referência da variável, se usasse vr.sort(), o array vr seria reordenado logo, ao espalhar o conteúdo de vr em num novo array: [...vr].sort(... o array original foi preservado e essa nova referência de dado em memória foi atribuída à variável nums em outras palavras: o spread operator foi usado apenas para fazer uma cópia do array Editado Dezembro 3, 2022 por wash Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Wesley Goncalves
Boa tarde!
Alguém sabe como faço para calcular a mediana de checkbox's selecionados?
Tenho uma tabela mysql, e quero que me mostre a mediana dos valores conforme seleciono os checkbox's.
Editado por Wesley GoncalvesLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.