Мой следующий код предназначен для удаления элемента в массиве по идентификатору элемента, но он не работает, помогите мне
Main.js
app.delete('/delete/:id', function (req, res) {
fs.readFile(__dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse(data);
delete data["user" + req.params.id];
console.info(data);
fs.writeFile('users.json', JSON.stringify(data), function (err) {
if (err){return console.info(err);}
});
});
});
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.info("Example app listening at http://%s:%s", host, port)
})
users.json
[
{
"name": "alpha",
"password": "123",
"id": 4
},
{
"name": "beta",
"password": "123",
"id": 5
}
]
Как удалить любой из вышеперечисленных элементов по его идентификатору с помощью api почтальона или клиента отдыха
Можете ли вы отредактировать мой код для выполнения метода удаления
Попробуй этот delete data[data.indexOf(data.filter(function(d){ return d.id == req.params.id; }))]
Вы можете отредактировать мой код
fs.readFile(__dirname + "/" + "users.json", 'utf8', function (err, data) { data = JSON.parse(data); delete data[data.indexOf(data.filter(function(d){ return d.id == req.params.id; }))]; console.info(data); fs.writeFile('users.json', JSON.stringify(data), function (err) { if (err){return console.info(err);} }); });


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Отфильтруйте свой массив, чтобы включить только объекты, идентификаторы которых не соответствуют вашему удаленному идентификатору.
data = data.filter(x=>x.id!=req.params.id)
Где разместить этот дуд
вместо этого замените на это строку, начинающуюся с delete, и потратьте некоторое время на проверку функции, которые изменяют массивы, потому что вы будете много делать это в JS!
Рад помочь, обязательно отметьте это как правильный ответ!
Можете ли вы помочь мне сделать метод размещения для элемента массива обновления, я не знаю о методе размещения, но мне нужен этот дуд
Вы не используете словарь (ассоциативный массив), поэтому вам нужно выполнить поиск элемента с соответствующим ключом, а тогда удалить его. Это базовый javascript, не имеющий ничего общего с node.js.