JavaScript – Ako odstrániť prvok a prvky z poľa podľa názvu, indexu a pozície (časť 1)

JavaScript

V tomto článku uvediem šikovné riešenia, ktoré uľahčia programátorom prácu s poľami (arrays) a to v podobe odstraňovania jedného alebo viacerých prvkov.

Ako prvý príklad uvediem spôsob, ako odstrániť prvok podľa indexu.

function removeItemByIndex(data, index) {
  return data.filter((element, i) => i != index);
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemByIndex(data, 3); // d
console.log(data);

// [ 'a', 'b', 'c', 'e', 'f', 'g' ]

data = removeItemByIndex(data, 2); // c
console.log(data);

// ['a', 'b', 'e', 'f', 'g']

V ďalšom príklade uvádzam spôsob ako odstrániť viacero prvkov podľa indexu.

function removeItemsByIndex(data, indices) {
  return data.filter((element, i) => !indices.includes(i));
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemsByIndex(data, [3, 4, 5]); // d, e, f
console.log(data);

// [ 'a', 'b', 'c', 'g' ]

Druhý spôsob mazania prvkov z poľa je podľa pozície v poli. Prvý príklad maže jeden prvok z poľa.

function removeItemByPosition(data, position) {
  return data.filter((element, i) => i + 1 != position);
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemByPosition(data, 4); // d
console.log(data);

// [ 'a', 'b', 'c', 'e', 'f', 'g' ]

data = removeItemByPosition(data, 3); // c
console.log(data);

// ['a', 'b', 'e', 'f', 'g']

Nasledujúci príklad maže viacero prvkov podľa pozície z poľa.

function removeItemsByPosition(data, positions) {
  return data.filter((element, i) => !positions.includes(i + 1));
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemsByPosition(data, [4, 5, 6]); // d, e, f
console.log(data);

// [ 'a', 'b', 'c', 'g' ]

Posledný spôsob mazania prvkov z poľa je cez ich názov. Opäť začnem zmazaním jedného prvku z poľa.

function removeItemByName(data, item) {
  return data.filter((element) => element != item);
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemByName(data, "d");
console.log(data);

// [ 'a', 'b', 'c', 'e', 'f', 'g' ]

data = removeItemByName(data, "c");
console.log(data);

// ['a', 'b', 'e', 'f', 'g']

V poslednom príklade mažem viacero prvkov podľa názvov z poľa.

function removeItemsByName(data, items) {
  return data.filter((element) => !items.includes(element));
}

let data = ["a", "b", "c", "d", "e", "f", "g"];
console.log(data);

// ["a", "b", "c", "d", "e", "f", "g"]

data = removeItemsByName(data, ["d", "e", "f"]);
console.log(data);

// [ 'a', 'b', 'c', 'g' ]

Záver

Ak máte aj vy dáke zaujímavé riešenia na tému ako zmazať prvok z poľa, môžete ich uviesť do komentára. Okrem tohto prvého dielu som pripravil aj druhý diel. Tému som tak rozdelil do dvoch článkov. V druhom článku nevytváram nové pole, ale priamo pracujem s aktuálnym poľom.

https://www.mldgroup.com

Vyštudovaný top manažér pôsobiaci najmä ako manažér, marketér, softvérový inžinier, konzultant, bloger, YouTuber a zatiaľ neúspešný hudobník a producent. V rámci praxe pôsobil v rôznych odvetviach na rôznych pozíciách v malých aj veľkých firmách, vrátane spoluprác a partnerstiev s významnými firmami či poradenskými spoločnosťami.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *