web-dev-qa-db-ja.com

Array.filter()in Angular 2コンポーネント

1つのコンポーネントでは、次を使用して配列をフィルタリングできます。

_// Array of product objects
const result = products.filter(p => p.name.includes('val'));
_

製品の値は最初の値と同じままですが、フィルターされた値はresultに格納されます。

ただし、次のコードでは、filter()は文字列の配列自体をフィルタリングします。

_// Array of strings
const result = strs.filter(s => s.includes('val'));
_

問題は、strs自体を変更せずに文字列をフィルタリングして結果を返すにはどうすればよいですか?

注:array.filter(function() { return res; });を試してみましたが、変更を加えませんでした。

7
Hooman

フィルターされたものを返しますが、実際の配列は変更しません。あなたは何か間違ったことをしている

const strs = ['valval', 'bal', 'gal', 'dalval'];
const result = strs.filter(s => s.includes('val'));

console.log(strs);
console.log(result);
7
Suren Srapyan