如何不从我的阵列中删除最后一项
问题描述:
我有一个从数组中删除项目的问题。我目前的一段代码是删除该项目。但它总是最后一个,而不是我选择的那个。我已经发现了一些线索,指数需要对-1如何不从我的阵列中删除最后一项
阵列进行检查
ngOnInit() {
this.todos = [
{
text: 'Pick up'
},
{
text: 'Meeting'
},
{
text: 'Dish washing'
}
];
}
功能
addTodo(){
this.todos.push({
text: this.text
});
}
deleteTodo(todoText){
this.todos.splice(this.todos.indexOf(todoText), 1);
}
答
在你的代码的问题是,你是通过对象引用比较,这样做这个:
deleteTodo(todoText){
this.todos
.splice(this.todos.map(todo=>todo.text)
.indexOf(todoText.text), 1);
}
我假设todoText参数是一个具有文本本身的对象TY。
,如果你想通过短信删除:
deleteTodo(text){
this.todos
.splice(this.todos.map(todo=>todo.text)
.indexOf(text), 1);
}
请确保您通过托德o项目本身,而不是文本 –