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);

Relaterte artikler