list.splice(index, 1);
=>
list
.slice(0, index)
.concat(list.slice(index+1));=>
[
...list.slice(0, index),
...list.slice(index+1)
];list[index]++
=>
list
.slice(0, index)
.concat([list[index]+1])
.concat(list.slice(index+1))=>
[
...list.slice(0, index),
list[index] + 1,
...list.slice(index+1)
];{
id: todo.id,
text: todo.text,
completed: !todo.completed
}=>
Object.assign({}, todo, {
completed: !todo.completed
});=>
{
...todo,
completed: !todo.completed
}
Note:
Array.prototype.indexOf() is used for primitives, while Array.prototype.findIndex() is used for complex objects