• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JS metoda filter

VPS Starter Arubacloud
0 głosów
428 wizyt
pytanie zadane 11 lutego 2018 w JavaScript przez macik1423 Początkujący (480 p.)

Dzień dobry, jak w metodzie filter w JS odwołać się do argumentu:

arguments[1], arguments[2]

w podanej funkcji:

func([1,2,3,4,5],2,3)

Chcę za pomocą filter porównać elementy tablicy z argumentami 2 i 3.

function func(arr) {
  return arr.filter(function(value,....){
     return value==.....?
  });
}

 

2 odpowiedzi

+2 głosów
odpowiedź 11 lutego 2018 przez Tomek Sochacki Ekspert (227,490 p.)
wybrane 11 lutego 2018 przez macik1423
 
Najlepsza

Coś takiego?

function fn( elements, ...args ) {
	console.log( 'Cała tablica wejściowa: ', elements );
	const filtered = elements.filter( val => {
		return args.includes( val );
    });
	//Tylko elementy równe dalszym argumentom:
	return filtered;
}

fn([1,2,3,4,5],2,3); 
//Cała tablica wejściowa:  [1, 2, 3, 4, 5]
//[2, 3]

fn([1,2,3,4,5,3,2],2,3);
//Cała tablica wejściowa:  [1, 2, 3, 4, 5, 3, 2]
//[2, 3, 3, 2]

W tym rozwiązaniu zakładam, że do funkcji fn przekazujesz jako pierwszy argument analizowaną tablicę, a wszystkie kolejne to paramtry używane w filtrowaniu. Tutaj akurat po prostu sprawdzam, że elementy z tablicy elements pasują do któregoś z dalszych argumentów, ale możesz tu zaimplementować dowolny algorytm - masz dwie tablice: elements i args.

+1 głos
odpowiedź 11 lutego 2018 przez Comandeer Guru (604,880 p.)

Po prostu nazwij te parametry w func i zastosuj fakt, że JS ma scope blokowo-funkcyjny:

function func(arr, toCheck) {
  return arr.filter(function(value){
     return value==toCheck;
  });
}

 

komentarz 11 lutego 2018 przez macik1423 Początkujący (480 p.)

A jak to będzie w przypadku kiedy ilość parametrów będzie się zmieniać?

func([1,2,3,4,5],1,2)
func([1,2,3,4,5],1,2,3)
func([1,2,3,4,5],1)

 

1
komentarz 11 lutego 2018 przez Comandeer Guru (604,880 p.)

Wtedy najlepiej zastosować rozwiązanie @Tomek Sochacki.

Podobne pytania

0 głosów
2 odpowiedzi 136 wizyt
pytanie zadane 23 grudnia 2018 w JavaScript przez Bakr Mądrala (6,850 p.)
0 głosów
1 odpowiedź 129 wizyt
pytanie zadane 17 stycznia 2019 w JavaScript przez ayo1001 Obywatel (1,890 p.)
0 głosów
0 odpowiedzi 578 wizyt
pytanie zadane 4 grudnia 2018 w Systemy operacyjne, programy przez Shiro Stary wyjadacz (10,300 p.)

93,005 zapytań

141,971 odpowiedzi

321,249 komentarzy

62,341 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...