所以,我有一个自定义类型的数组,在Angular中使用:
List {
task: string;
id?: number;
status?: boolean;
}
在这里,我想要删除List.status == true
我尝试了2种方法的元素,第一种非常简单,需要.filter()
:
return listArray.filter(item => !item.status);
这个方法的问题是,即使它返回删除了需要元素的列表,修改数组后,它会在编辑+添加元素之前恢复到它的状态,所以我来到第二个方法,它更长,并且需要.filter()和.forEach():
listArray1.filter(item => !item.status).forEach(item => {
listArray2.filter((element, index) => {
if (element === item) {
listArray2.splice(index, 1);
}
});
是否有可能缩短此方法的方法,或者是否有其他方法也可以使用角度?
答案 0 :(得分:1)
对于那些想要使用Lodash的人可以使用:myArray = _.without(myArray,itemToRemove)
用于角度使用,如波纹管:
import { without } from 'lodash';
...
myArray = without(myArray, itemToRemove);
...