我正在构建一个Angular应用程序。我必须根据对象的URI值将其拆分为不同的对象,以便稍后在扩展复选框解决方案中使用(能够从组中选择All或特定的(。我目前正在处理将对象拆分为多个组的问题。
StackBlitz数据示例
根据'/v2/'
之后的uri部分,将它们放入数组中最有效的方法是什么?
这是您可以遵循的两个可能的解决方案。第一个只在数组上迭代一次,所以我认为这可能是最好的方法:
this.items.forEach((elem) => {
if (elem.uri.startsWith('/v2/information/')) {
this.groupInformation.push(elem);
} else if (elem.uri.startsWith('/v2/payments/')) {
this.groupPayments.push(elem);
} else if (elem.uri.startsWith('/v2/menu/')) {
this.groupMenu.push(elem);
} else {
// Do something else
}
});
这里有另一种选择:
this.groupInformation = this.items.filter((elem) =>
elem.uri.startsWith('/v2/information/')
);
this.groupPayments = this.items.filter((elem) =>
elem.uri.startsWith('/v2/payments/')
);
this.groupMenu = this.items.filter((elem) =>
elem.uri.startsWith('/v2/menu/')
);
你可以在这里查看