Код ниже должен удалить что-то из массива из файла JSON с помощью GET.Однако, независимо от того, какое число введено, оно просто переходит к оператору else, отображающему сообщение об ошибке.Кажется, я не могу понять, что я делаю неправильно, поскольку в консоли также не отображаются ошибки.
Цель этого кода - удалить элемент из массива, который совпадает с идентификатором элемента в файле JSON.Поэтому, если запрос get равен delete/02
, он должен удалить элемент с идентификатором 02 в массиве, а не третий элемент в массиве.
var fs = require('fs');
var rawData = fs.readFileSync('toDoList.json');
var tasksArray = JSON.parse(rawData);
console.log(list);
app.get('/delete/:id', function (req, res) {
for (var i = 0; i < tasksArray.length; i++) {
if(tasksArray[i]["id"] == req.params['id']) {
tasksArray.splice([i], 1);
var json = JSON.stringify(tasksArray);
fs.writeFileSync("toDoList.json", json, "utf8");
res.json(tasksArray);
console.log[i];
}
else {
res = res.status(500);
res.json({"status": "error"});
}
break;
}
});
Вот JSON, если это поможет:
[
{
"id": "01",
"desc": "Assignment 1"
},
{
"id": "02",
"desc": "Assignment 2"
},
{
"id": "03",
"desc": "Assignment 3"
},
{
"id": "04",
"desc": "Assignment 4"
},
{
"id": "05",
"desc": "Assignment 5"
}
]