我有如下的列表项数组
L3 - LO
L7 - LO
L7 - L3
% L3 - LO
% L7 - LO
% L7 - L3
我正在尝试使用 Angular 4 中的以下代码通过拼接方法删除
但它也如何删除其他项目。我只想删除包含 L3 的字符串,并且它也会删除此项目 % L7 - LO
if (e.target.value === "L3") {
debugger;
let l7L3112Index = this.formulalist.findIndex(item => item.Name === "L7 - L3");
let l7l32456Index = this.formulalist.findIndex(item => item.Name === "% L7 - L3");
let l3ls28Idex = this.formulalist.findIndex(item => item.Name === "L3 - LS");
let l3ls23Idex = this.formulalist.findIndex(item => item.Name === "% L3 - LS");
let l3Lo87Index = this.formulalist.findIndex(item => item.Name === "L3 - LO");
let l3lO287Index = this.formulalist.findIndex(item => item.Name === "% L3 - LO");
this.formulalist.splice(l3lO287Index, 1);
this.formulalist.splice(l7L3112Index, 1);
this.formulalist.splice(l7l32456Index, 1);
this.formulalist.splice(l3ls28Idex, 1);
this.formulalist.splice(l3ls23Idex, 1);
this.formulalist.splice(l3Lo87Index, 1);
}
任何人都可以对这个问题提出任何想法吗? 非常感谢提前
最佳答案
已提供 StackBlitz demo关于您关心的问题。
如果您的 FormulaList 是一个对象数组
formulaList = [
{ name: 'L3 - LO' },
{ name: 'L7 - LO' },
{ name: 'L7 - L3' },
{ name: '% L3 - LO' },
{ name: '% L7 - LO' },
{ name: '% L7 - L3' }
];
您可以使用 Array.filter 和 Regex 对其进行过滤
this.formulaList = this.formulaList.filter(({ name }) => !name.match(/L3/g));
关于javascript - 从 Angular 4 的数组列表中删除错误的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52712523/