Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

なぜidが違ったものをtodosに格納したら削除されるんですか?

//略

<li v-for ="todo in todos" :key="todo.id">

//略

  data(){
  return{
  todos : [ 
   {id:"1" , text : "todo1"
   {id:"2" , text : "todo2"
 ] 
},
  methods:{
    deleteTodo(id){
      this.todos = this.todos.filter(todo) => todo.id !== id
}
}

この処理で削除ボタンを作れているらしいのですがなぜこれで削除できるのか理解できないです。
なぜidが違ったものをtodosに格納したら削除されるんですか?

0

1Answer

deleteTodo(id)という関数では「削除するidを持っていないもの全て」をthis.todosに代入しています。

例えばtodosに1,2,3,4,5のidを持つtodoが入っていて、id === 3のtodoを消すことを考えてみてください。
これを言い換えれば「1,2,4,5は残す」ということですから、「削除するid(3)を持っていないもの全て」をthis.todosに代入すれば目的が達成できます。

1Like

Comments

  1. 凄くわかりやすい回答ありがとうございます。

Your answer might help someone💌