【发布时间】:2020-07-29 01:16:18
【问题描述】:
我在一个 Angular 9 项目(Typescript)中工作。
我有一个字符串数组。我还有一个自定义类型的数组。
如何过滤自定义类型的数组以仅包含其属性与字符串数组中的一个字符串匹配的那些。 这里有一些代码可以帮助解释:
//I declare a custom type
export interface CustomType {
id: string;
name: string;
}
//I declare my arrays
customTypesArr: CustomType[] = [
{id: "000", name: "name 1"},
{id: "001", name: "name 2"},
{id: "002", name: "name 3"}
];
customTypesNamesArr: string[] = ["name 3", "name 1"];
现在我想从customTypesArr 创建一个数组,它只包含名称属性与customTypesNamesArr 中的任何字符串相同的项目。
最终结果是:
myNewCustomTypesArr: CustomType[] = [
{id: "000", name: "name 1"},
{id: "002", name: "name 3"}
];
我想它会是这样的,但我不能完全确定:
customTypesArr.filter(item =>
customTypesNamesArr.forEach(name => {
if (name == item.name) {
return item;
}
})
);
我真的不确定在这种情况下是否应该使用forEach()...
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: arrays angular typescript rxjs filtering