Arcade pontszámok - tömb metódusok
Ebben a feladatban egy játéktermi rendszer pontszámait kell feldolgozni. Mivel a pontszámok szöveges beviteli mezőből származnak, a bemeneti tömb különböző típusú értékeket tartalmazhat, például számokat, numerikus karakterláncokat, logikai értékeket, null, undefined és NaN értékeket. Egy pontszám akkor tekinthető érvényesnek, ha a típusa number, és az értéke nem NaN.
Valósítsd meg az alábbi függvényeket az index.js fájlban globális függvénydeklarációkként. Ne használj modulokat, import és export utasításokat.
Kapcsolódó fogalmak: a typeof operátor, szigorú egyenlőségvizsgálat, maradékképzés, hatványozás, filter, map, reduce, sort, slice, sablonliterál, spread szintaxis és objektumok.
Kezdőcsomag
A feladatleírás és a kezdőfájlok helyi munkához előkészítve.
Tartalmazott fájlok: index.js
Feladatok
Eldönti egyetlen értékről, hogy érvényes pontszám-e.
- Paraméter:
s: tetszőleges típusú érték. - Visszatérési érték:
true, hastípusanumber, és értéke nemNaN; egyébkéntfalse.
Példák:
isValidScore(42)
Várt visszatérési érték: true
isValidScore("42")
Várt visszatérési érték: false
Kiválogatja egy tömbből az érvényes pontszámokat.
- Paraméter:
scores: tetszőleges típusú értékeket tartalmazó tömb. - Visszatérési érték: új tömb, amely csak azokat az elemeket tartalmazza, amelyekre az
isValidScoreigaz értéket ad. A bemeneti tömb nem módosítható.
Példa:
cleanScores([42, "42", NaN, 17, null, 0])
Várt visszatérési érték: [42, 17, 0]
Kiválogatja a páros pontszámokat egy számtömből.
- Paraméter:
scores: számokat tartalmazó tömb. Feltételezhető, hogy minden eleme érvényes pontszám. - Visszatérési érték: új tömb, amely csak a páros számokat tartalmazza.
Példa:
evenScores([2, 3, 4])
Várt visszatérési érték: [2, 4]
Megduplázza a tömb minden elemét.
- Paraméter:
scores: számokat tartalmazó tömb. - Visszatérési érték: új tömb, amelyben minden elem a megfelelő bemeneti érték kétszerese.
Példa:
doubleScores([2, 3])
Várt visszatérési érték: [4, 6]
Megjelenítésre alkalmas alakra hozza a pontszámokat.
- Paraméter:
scores: számokat tartalmazó tömb. - Visszatérési érték: új tömb, amelyben minden
sszám"s pts"alakú karakterlánccá van alakítva.
Példa:
formatScores([42, 7])
Várt visszatérési érték: ["42 pts", "7 pts"]
Kiszámítja a páratlan pontszámok négyzeteinek összegét.
- Paraméter:
scores: számokat tartalmazó tömb. - Visszatérési érték: a páratlan elemek négyzeteinek összege. Üres tömb, illetve páratlan elemet nem tartalmazó tömb esetén
0.
Példa:
totalOddBonus([1, 2, 3, 4, 5])
Várt visszatérési érték: 35, mivel 1 + 9 + 25 = 35.
Egyesít két pontszámtáblát.
- Paraméterek:
board1ésboard2: két tömb. - Visszatérési érték: új tömb, amely a
board1összes elemét, majd aboard2összes elemét tartalmazza ebben a sorrendben. Egyik bemeneti tömb sem módosítható.
Példa:
combineBoards([1, 2], [3, 4])
Várt visszatérési érték: [1, 2, 3, 4]
Visszaadja a legmagasabb n érvényes pontszámot csökkenő sorrendben.
- Paraméterek:
scores: tetszőleges típusú értékeket tartalmazó tömb;n: nemnegatív szám, amely megadja, hány legjobb pontszámot kell visszaadni. - Visszatérési érték: legfeljebb
nelemű új tömb, amely a legnagyobb érvényes pontszámokat tartalmazza csökkenő sorrendben. Az érvénytelen értékek figyelmen kívül maradnak. Ha kevesebb mintnérvényes pontszám létezik, akkor az összeset visszaadja. Hanértéke0, vagy nincs érvényes pontszám, üres tömböt ad vissza. A bemeneti tömb nem módosítható.
Példa:
topScores([5, "7", 20, null, 3, 12], 2)
Várt visszatérési érték: [20, 12]
Kiszámítja az érvényes pontszámok számtani közepét.
- Paraméter:
scores: tetszőleges típusú értékeket tartalmazó tömb. - Visszatérési érték: az érvényes pontszámok átlaga. Ha a tömb nem tartalmaz érvényes pontszámot, a visszatérési érték
0.
Példa:
averageValidScore([10, "20", 30, null])
Várt visszatérési érték: 20, mivel (10 + 30) / 2 = 20.
Paritás szerint csoportosítja az érvényes pontszámokat.
- Paraméter:
scores: tetszőleges típusú értékeket tartalmazó tömb. - Visszatérési érték: olyan objektum, amely két tulajdonsággal rendelkezik:
evenésodd. Mindkét tulajdonság a megfelelő érvényes pontszámokat tartalmazó tömb, az eredeti relatív sorrend megőrzésével.
Példa:
parityGroups([1, 2, "3", 4, null, 5])
Várt visszatérési érték: { even: [2, 4], odd: [1, 5] }
Követelmények
- Minden függvényt
function name(...) { ... }alakú függvénydeklarációval definiálj. - Ne használj
import,exportvagytype="module"szerkezeteket. - A változókat
constvagyletkulcsszóval deklaráld. Avarhasználata nem megengedett. - A tömböt visszaadó függvények új tömböt adjanak vissza, és ne módosítsák a bemeneti tömböket.
- Minden összehasonlításhoz szigorú egyenlőségvizsgálatot (
===és!==) használj.