×
Creating solutions

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
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest