Arbitrális érvek a funkcióhoz - a weben

Nemrégiben tárgyaltuk, hogyan állíthatja be a függvényt az alapértelmezett érvekhez. Ez bizonyos rugalmasságot biztosít az érvekkel való együttműködésben. De mi van akkor, ha szükségünk van egy olyan függvényre, amely tetszőleges számú argumentumot vehet fel? Például egy olyan függvényre van szükségünk, amely az összes elküldött argumentum összegét adja vissza. Hogyan oldhatja meg ezt a problémát?

Annak ellenére, hogy ez az objektum nem tömb, úgy viselkedik, mint egy tömb. Az argumentumok tartalmazzák a függvényhez tartozó összes argumentumot.

Most, hogy ismerjük az objektum argumentumokat. könnyen végrehajthatjuk a kívánt funkciót, amely mindenféle érvvel megegyezik:

Az egyik fontos probléma, amely az argumentumokkal való munka során jelentkezik, hogy ez az objektum nem valós tömb. Ezt a következő kód futtatásával ellenőrizhetjük:

Tehát ez nem tömb. Van-e különbség a használatban?

Sajnos van különbség. Az érvek nem támogatják a szabványos tömb-módszereket, mint a push. pop. szeletet. indexOf vagy sort.

Ez megakadályozhatja Önt, különösen akkor, ha argumentumokat ad meg bármely olyan függvényhez, amely elvárja a tömböt.

A probléma megoldása könnyen használható, de egy kicsit nehéz megérteni.

Elemezzük ezt a kódot:

  1. Létrehozunk egy üres tömböt.
  2. A szelet-tömb módszerét használjuk.
  3. A hívási módot arra használjuk, hogy kényszerítsük a szeletet az argumentum objektum kezelésére, nem üres tömb helyett.

A szelet módszerének megadása anélkül, hogy megadná azt az indexet, amelyről meg kell kezdeni a feldolgozást, visszaadja az eredeti tömböt. És ez az, amire szükségünk van: egy olyan tömböt kaptunk, amely tartalmazza a függvény összes argumentumát.

Kapcsolódó cikkek