Funkciju un masīvu būvēšana un izsaukšana/ JavaScript

Šajā rakstā jūs uzzināsiet, kā izveidot un izsaukt funkciju. Šī raksta mērķis ir sniegt jums funkciju deklarācijas (veidošanas) un funkciju izsaukšanas piemēru.

  • Iedziļinoties šajā rakstā Jums vajazdētu gūt priekšstatu un spēt:

Kodēt vienkāršas funkcijas, kas var pieņemt masīvu un to atkārtot

Sāksim ar mūsu funkcijas deklarācijas nosaukuma piešķiršanu:

function masīvaVērtībuSaraksts(arr) {
    // ... šeit atradīsies kods ...
}

Tātad, es esmu deklarējis funkciju masīvaVērtībuSaraksts un iestatījis to, lai tā pieņemtu vienu parametru arr, kas apzīmē masīvu.

Tagad man būs jāiekodē for cilpa, lai pārietu uz masīvu.

Kā aprakstīts iepriekšējos bloga rakstos par cilpām, jeb loops, for cilpai ir nepieciešama šāda informācija:

  1. sākuma cilpas skaitītāja vērtība kā pagaidu mainīgais i
  2. izejas nosacījums (cilpas skaitītāja mainīgā imaksimālā vērtība, virs kuras cilpa vairs nedarbojas)
  3. kā atjaunināt i vērtību pēc katras cilpas

Šeit ir informācija, ko izmantošu šajā funkcijas deklarācijā:

1. Cilpas sākuma skaitītājs būs 0. Iemesls tā iestatīšanai uz nulli ir saistīts ar faktu, ka arī masīvi tiek skaitīti no nulles.

Tas nozīmē, ka man jebkurā brīdī būs mainīgā i pašreizējās vērtības kartējums viens pret vienu, kas atbilst vienai un tai pašai jebkura vienuma indeksa pozīcijai masīva 2. masīvā.

For cilpas izejas nosacījums ir, ja i vērtība ir vienāda vai lielāka par arr.length.

Tā kā arr.length skaita vienumu skaitu masīvā no viena un masīva vienumi tiek indeksēti no nulles, tas faktiski nozīmē, ka, tiklīdz i ir vienāds ar arr.length, cilpa tiks pabeigta un jebkurš cits kods pēc tās. tiks palaists.

Tas praktiski nozīmē, ka šīs for cilpas izejas nosacījums būs i < arr.length atgriež false.

Citiem vārdiem sakot, kamēr i < arr.length ir patiess, šī for cilpa turpinās darboties.

3. Lai pārliecinātos, ka neviens no arr masīva vienumiem netiek izlaists, man pēc katras cilpas jāpalielina i vērtība par 1.

Tagad, kad es precīzi zinu, kā manai for cilpai vajadzētu rīkoties, varu to pievienot savai funkcijai masīvaVērtībuSaraksts():

function masīvaVērtībuSaraksts(arr) {
    for (var i = 0; i < arr.length; i++) {
        // ... kods atradīsies šeit ...
    }
}

Tagad man atliek tikai izlemt, kā es vēlos izvadīt katru vienumu no saņemtā arr masīva.

Tas var būt tikpat vienkārši, kā konsolē reģistrēt masīva vienumu indeksu ar pašreizējo vērtību i:

function masīvaVērtībuSaraksts(arr) {
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]) //parādīt masīva vienumu, kur indekss ir vienāds ar i
    }
}
Ja es tagad izsaucu funkciju masīvaVērtībuSaraksts, es, piemēram, varu piešķirt tai šādu krāsu masīvu:
var colors = ['sarkans', 'oranžs', 'dzeltens', 'zaļš', 'zils', 'lillā', 'rozā'];
listArrayItems(colors); //parādīt visus vienumus masīvā vienlaikus
Iznākums izskatīsies šādi:
sarkans
oranžs
dzeltens
zaļš
zils
lillā
rozā
Es varu atjaunināt izvadi jebkurā veidā, kas man patīk. Piemēram, šeit ir mani arr vienumi ar numuru katra vienuma priekšā:
//funkcija, kas izmanto masīvu kā ievadi un parāda visus šī masīva vienumus
function masīvaVērtībuSaraksts(arr) {
  for (var i = 0; i < arr.length; i++) {
    console.log(i, arr[i]);
  }
}
var colors = ["sarkans", "oranžs", "dzeltens", "zaļš", "zils", "lillā", "rozā"];
masīvaVērtībuSaraksts(colors);
konsoles rezultāts būs šāds:
0 sarkans
1 oranžs
2 dzeltens
3 zaļš
4 zils
5 lillā
6 rozā
Lai sāktu skaitīšanu no viena, nevis no nulles, es varu atjaunināt savu funkcijas deklarāciju šādi:
console.log(i+1, arr[i]);
atjaunotais kods:
//funkcija, kas izmanto masīvu kā ievadi un parāda visus šī masīva vienumus
function masīvaVērtībuSaraksts(arr) {
  for (var i = 0; i < arr.length; i++) {
    console.log(i+1, arr[i]);
  }
}
var colors = ["sarkans", "oranžs", "dzeltens", "zaļš", "zils", "lillā", "rozā"];
masīvaVērtībuSaraksts(colors);
Un konsole izvadīs visas krāsas numurējot tās no 1:
1 sarkans
2 oranžs
3 dzeltens
4 zaļš
5 zils
6 lillā
7 rozā
Es pat varu pievienot vienu vai vairākus nosacījumus, piemēram:
//funkcija, kas izmanto masīvu kā ievadi un parāda visus šī masīva vienumus
function masīvaVērtībuSaraksts(arr) {
  for (var i = 0; i < arr.length; i++) {
    console.log(i + 1, arr[i]);
  }
}
var colors = ["sarkans", "oranžs", "dzeltens", "zaļš", "zils", "lillā", "rozā"];
masīvaVērtībuSaraksts(colors);


function masīvaVērtībuSaraksts(arr) {
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] == "sarkans") {
      console.log(i * 100, "tomāts!");
    } else {
      console.log(i * 100, arr[i]);
    }
  }
}

Tagad es pievienoju vadības plūsmu tieši manai funkcijai, pamatojoties uz to, vai konkrēts masīva dalībnieks atbilst noteiktai vērtībai – šajā gadījumā virknei “sarkans”.

Izsaucot manu jaunāko atjaunināto funkcijas masīvaVērtībuSaraksts

versiju krāsu masīvā, tiks parādīta šāda izvade:

0 tomāts!
100 oranžs
200 dzeltens
300 zaļš
400 zils
500 lillā
600 rozā

Loading

Noderīgs raksts? Dalies ar citiem: