Untitled
unknown
javascript
a year ago
2.1 kB
4
Indexable
import React, { useState, useRef } from 'react'; const Home = () => { const [temperaturos, setTemperaturos] = useState([]); const [inputValue, setInputValue] = useState(''); const averageTemperatureRef = useRef(null); const addTemperature = () => { if (inputValue !== '') { const newTemperaturos = [...temperaturos, parseFloat(inputValue)]; setTemperaturos(newTemperaturos); setInputValue(''); calculateAverageTemperature(newTemperaturos); } }; const clearTemperatures = () => { setTemperaturos([]); averageTemperatureRef.current = null; }; const calculateAverageTemperature = (newTemperaturos) => { const sum = newTemperaturos.reduce((acc, temp) => acc + temp, 0); const average = sum / newTemperaturos.length; averageTemperatureRef.current = average; }; const findMinTemperature = () => { return Math.min(...temperaturos); }; const findMaxTemperature = () => { return Math.max(...temperaturos); }; const findTemperatureDifference = () => { const minTemperature = findMinTemperature(); const maxTemperature = findMaxTemperature(); return maxTemperature - minTemperature; }; return ( <div> <form onSubmit={(e) => { e.preventDefault(); addTemperature(); }} > <input type="text" value={inputValue} onChange={(e) => setInputValue(e.target.value)} /> <button type="submit">Pridėti temperatūrą</button> </form> {temperaturos.length > 0 && ( <div> <p>Temperatūros: {temperaturos.join(', ')}</p> <p>Vidutinė temperatūra: {averageTemperatureRef.current}</p> <p>Temperatūrų skaičius: {temperaturos.length}</p> <p>Žemiausia temperatūra: {findMinTemperature()}</p> <p>Aukščiausia temperatūra: {findMaxTemperature()}</p> <p>Temperatūrų skirtumas: {findTemperatureDifference()}</p> <button onClick={clearTemperatures}>Išvalyti temperatūras</button> </div> )} </div> ); }; export default Home;
Editor is loading...
Leave a Comment