jesteś tutaj
193
Porządkowanie naszych danych
Refaktoryzacja kodu z użyciem funkcji printAndGetHighScore
Teraz musimy zmienić resztę naszego kodu tak, by korzystał z funkcji. W tym celu wystarczy,
że ją wywołamy i zapiszemy zwracany przez nią wynik w zmiennej
highScore
.
<!doctype html>
<html lang=”pl”>
<head>
<meta charset=”utf-8”>
<title>Testy pïynöw do robienia baniek</title>
<script>
var scores = [60, 50, 60, 58, 54, 54, 58, 50, 52, 54, 48, 69,
34, 55, 51, 52, 44, 51, 69, 64, 66, 55, 52, 61,
46, 31, 57, 52, 44, 18, 41, 53, 55, 61, 51, 44];
function printAndGetHighScore(scores) {
var highScore = 0;
var output;
for (var i = 0; i < scores.length; i++) {
output = ”Pïyn do baniek nr ” + i + ” wynik: ” + scores[i];
console.log(output);
if (scores[i] > highScore) {
highScore = scores[i];
}
}
return highScore;
}
var highScore = printAndGetHighScore(scores);
console.log(”Liczba testöw: ” + scores.length);
console.log(”NajwiÚksza liczba wytworzonych baniek: ” + highScore);
var bestSolutions = [];
for (var i = 0; i < scores.length; i++) {
if (scores[i] == highScore) {
bestSolutions.push(i);
}
}
console.log(”Pïyny z najlepszym wynikiem: ” + bestSolutions);
</script>
</head>
<body> </body>
</html>
To jest nasza funkcja
gotowa do użytku.
A teraz wywołujemy tę
funkcję, przekazując do niej
tablicę wyników. Wartość
zwracaną przez tę funkcję
zapisujemy w zmiennej
hightScore.
Pozostaje zatem w podobny sposób
przekształcić ten kod na funkcję
i ponownie wprowadzić odpowiednie
zmiany w pozostałej części kodu.
194
Rozdział 4.
Ćwiczenie z refaktoryzacji kodu
Zaostrz ołówek
Tym kolejnym zadaniem zajmiemy się wspólnie. Naszym celem jest napisanie funkcji tworzącej tablicę
wszystkich płynów do baniek, które uzyskały najlepszy wynik (a ponieważ może ich być więcej niż
jeden, dlatego zastosujemy tablicę). Do tej funkcji będziemy przekazywali tablicę wyników oraz
wartość zmiennej highScore, którą wyznaczyliśmy przy użyciu funkcji printAndGetHighScore.
Dokończ kod widoczny poniżej. Rozwiązanie znajdziesz na następnej stronie, więc nie podglądaj!
Dokończ kod samodzielnie, żebyś wszystko dobrze zrozumiał.
function getBestResults(__________, ____________) {
var bestSolutions = ______;
for (var i = 0; i < scores.length; i++) {
if (___________ == highScore) {
bestSolutions.__________;
}
}
return _______________;
}
var bestSolutions = _____________(scores, highScore);
console.log(”Pïyny z najlepszym wynikiem: ” + bestSolutions);
var bestSolutions = [];
for (var i = 0; i < scores.length; i++) {
if (scores[i] == highScore) {
bestSolutions.push(i);
}
}
console.log(”Pïyny z najlepszym wynikiem: ” + bestSolutions);
Gdybyś zapomniał,
tu przedstawiamy
kod w jego obecnej
postaci.
Zaczęliśmy już pisać funkcję, ale
potrzebujemy Twojej pomocy, żeby ją
dokończyć!

Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.