[英]How to replace an object of a javascript array
我正在嘗試更新數組的特定 object 值。 所以我的做法是刪除舊的 object 並插入具有更新值的同一索引。
let thisTodoIndex = oldTodos.findIndex((t) => t.id === getTodoId);
let thisTodo = oldTodos[thisTodoIndex];
thisTodo = { ...thisTodo, isCompleted: !getStatus };
let updatedTodo = oldTodos.filter(td => td.id !== getTodoId);
console.log(updatedTodo); // working fine
console.log(thisTodo); // working fine
console.log(thisTodoIndex); //working fine
updatedTodo = updatedTodo.splice(thisTodoIndex,0,thisTodo); // becoming empty
console.log(updatedTodo);
參考數組的圖像:
您可以更新 object 而不刪除它,例如:
const oldTodos = [ { id: 1, todoText: "Create", inComplete: false }, { id: 2, todoText: "Create", inComplete: true }, ] const getTodoId = 1 const index = oldTodos.findIndex( _ => _.id == getTodoId) oldTodos[index] = {...oldTodos[index], todoText: "New Text" } console.log(oldTodos)
我做錯了。
console.log(thisTodoIndex); //working fine
updatedTodo.splice(thisTodoIndex,0,thisTodo);
console.log(updatedTodo);
我將updatedTodo.splice(thisTodoIndex,0,thisTodo)
存儲在一個變量中,然后返回它。 這現在有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.