Array.filter() i Angular 2-komponent
I en komponent kan jeg filtrere arrayen min ved å bruke følgende:
// Array of product objects
const result = products.filter(p => p.name.includes('val'));
og verdien av produkter forblir den samme som den første verdien, men den filtrerte verdien lagres i result.
Men i følgende kode filtrerer filter() selve arrayet av strenger:
// Array of strings
const result = strs.filter(s => s.includes('val'));
Spørsmålet er hvordan jeg kan filtrere strenger og returnere resultatet uten å endre strs selv?
Merk: Jeg prøvde med array.filter(function() { return res; });, men det gjorde ingen forskjell.
Svar #1
Den returnerer de filtrerte og endrer ikke det faktiske arrayet. Du gjør noe feil
const strs = ['valval', 'bal', 'gal', 'dalval'];
const result = strs.filter(s => s.includes('val'));
console.log(strs);
console.log(result);