簡體   English   中英

如何替換 javascript 數組的 object

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM