出于学习目的,我正在Svelte中开发一个小型ToDo应用程序(对Svelte来说是新手)。
我有以下代码可用于添加新的待办事项:
NSAttributedString
由于某种原因,我无法找到-待办事项的最大编号为2-不计我添加的数量。
请参阅REPL here 。
我的错误在哪里?
答案 0 :(得分:1)
更改
newTodo.id = todos[todos.length - 1].id + 1;
到
newTodo.id = todos[0].id + 1;
因为您的第一个待办事项编号最大,而不是最后一个。
答案 1 :(得分:0)
对我来说似乎复杂而脆弱,为什么不只记得最后一个插入ID?
// ...
let todos = [];
let lastInsertId = 0;
function addTodo(){
//Empty todo object
let newTodo = {};
//Set new todo object's properties (id, title, completed)
newTodo.id = ++lastInsertId;
newTodo.title = document.querySelector('#new_todo').value;
newTodo.completed = false;
//Add new todo at the behining
todos.unshift(newTodo);
todos = todos;
}
// ...
为什么还unshift()
和reverse()
而不是仅仅反转并推入列表?