×
Vytvárame riešenia

Ako získať skutočnú pozíciu prvku v poli

A je tu ďalší článok venovaný jednoduchému a hravému programovaniu. Tentoraz je zameraný na získanie skutočnej pozície prvku v poli a nie hodnoty vlastnosti index.
Prvý príklad predstavuje najrýchlejšiu cestu ako získať požadovanú hodnotu.
Príklad: Použitie metódy indexOf().
1
2
3
4
5
6
7
8
var array = ["BMW", "Honda", "Audi", "Suzuki", "Mercedes", "Renault"];
function getPosition(arr, element) {
var position = arr.indexOf(element) + 1;
return position;
}
console.log(getPosition(array, "Audi"));
Príklad: Použitie cyklu while.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var array = ["BMW", "Honda", "Audi", "Suzuki", "Mercedes", "Renault"];
function getPosition(arr, element) {
var i = 0;
while(arr[i] != element && i < arr.length) {
i++;
}
var position = (i < arr.length) ? i + 1 : -1;
return position;
}
console.log(getPosition(array, "Renault"));
Príklad: Vytváranie polyfillu metódy indexOf() s názvom getIndex().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var array = ["BMW", "Honda", "Audi", "Suzuki", "Mercedes", "Renault"];
function getIndex(arr, element) {
var i = 0;
while(arr[i] != element && i < arr.length) {
i++;
}
var index = (i < arr.length) ? i : -1;
return index;
}
console.log(getIndex(array, "BMW"));
Príklad: Polyfill metódy indexOf() s názvom getIndex()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var array = ["BMW", "Honda", "Audi", "Suzuki", "Mercedes", "Renault"];
Array.prototype.getIndex = function(element) {
var arr = this;
var i = 0;
while(arr[i] != element && i < arr.length) {
i++;
}
var index = (i < arr.length) ? i : -1;
return index;
}
console.log(array.getIndex("Renault"));

Záver

Ako vidieť trošku som sa opäť vyhral. Vytvoril som vlastný polyfill metódy indexOf(). Kým prvé dva príklady vracajú skutočnú pozíciu prvku v poli (neprogramatickú), ďalšie dva príklady už vracajú hodnotu vlastnosti index.


JavaScript,indexOf,polyfill,getIndex,getPosition
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších