У меня есть эта функция, которая фильтрует элементы. Например, если у меня есть этот массив:
arr = [{'name': 'a', 'group': 'aa'}, {'name': 'b', 'group': 'bb'}, {'name': 'c', 'group': 'cc'}, {'name': 'a', 'group': 'dd'}]
И я отфильтрую его по 'name=a'
, он мне вернет
{'name': 'a', 'group': 'aa'}
{'name': 'a', 'group': 'dd'}
Но как я могу поставить другое условие, а не только на name
. Например, я хочу выполнить поиск после name=a
и group=aa
и вернуть:
{'name': 'a', 'group': 'aa'}
Это моя функция, но в данный момент она получает только одно поле
transform(items: any[], field: string, value: string[]): any[] {
if (!items) {
return [];
}
if (!field || !value || value.length <= 0) {
return items;
}
this.newArray = items.filter(singleItem => {
return (singleItem != null && singleItem[field] != null && singleItem[field] != undefined && value.indexOf(singleItem[field]) >= 0);
});
return this.newArray
}
Как я могу изменить его (делая что-то вроде value
, что string[]
)? Спасибо за ваше время!