Funkcja zwracająca obiekt wraz z jego pozycją.

0

Cześć,
Pewnie problem z jakim się spotkałem dla większości będzie dość banalny ale szukam rozwiązania które będzie optymalne. Mam sobie tablicę z jakimiś produktami. Teraz potrzebuję funkcję która z tej listy wybierze mi konkretny produkt i zwróci cały element tej tablicy dotyczący tego produktu ale nie tylko ponieważ w późniejszym etapie produkt ten będzie modyfikowany i musi z powrotem trafić do tej tablicy dlatego potrzebuję aby ta funkcja zwróciła mi nie tylko produkt ale też index pod którym on siedzi w tej tablicy.

0

Coś takiego powinno wystarczyć

function findElementAndIndex(array, callback) {
  const element = array.find(callback)
  const index = array.findIndex(callback)
  return {
    element,
    index
  }
}

const array = [{ name: 'Aaa'}, { name: 'Bbb' }]
const { index, element } = findElementAndIndex(array, arrayItem => arrayItem.name === 'Aaa')
0
var products = [
    {id: 1, name: 'tdsa'},
    {id: 2, name: 'dewq'},
];

products.find((product) => product.id === 1) // zwaraca obiekt którego szukasz
// products.find((product) => product.id === 1).name = 'new name'; //zmienia obiekt

// po wywołaniu 2 linkji zmieniłeś tablicę products. Jeśli teraz zobaczysz co zawiera
// products to zobaczysz że id zostało zmienione, poniewać obiekty są referencjami.

to zależy jak masz poukładane te elementy.... Jak wygląda tablica products?

jak sztadi powiedział, mutujemy tablicę, tak to prawda, to zależy co chcesz zrobić. Jeśli nie chcesz

zmieniać tablicy żródłowej robisz..

{ ...products.find((product) => product.id === 1)}

1 użytkowników online, w tym zalogowanych: 0, gości: 1