Обработка http-запросов в JavaScript - PullRequest
0 голосов
/ 29 апреля 2018
app.delete('/deletebyid/:id',function(req,res){
Users.forEach(function(user){
    if(user.id == req.params.id)
    {
        const index = Users.findIndex(x => x.id == req.params.Id);
        /*second parameter is the number of objects i need to delete
        * arrayName.splice(index,number of objects)*/
        Users.splice(index,1);
        res.status(200).send(Users[index]);
    }
});
res.status(500).send({message:"Invalid User"});

Согласно приведенному выше коду, сначала я проверяю, удаляю ли я правильного пользователя, сравнивая идентификатор пользователя из моего массива «Пользователь» и идентификатор, который я сначала ввел в свой URI, если условие.

Какой смысл снова проверять это состояние на этой линии?

const index = Users.findIndex(x => x.id == req.params.Id);

1 Ответ

0 голосов
/ 30 апреля 2018

В этой строке user.id == req.params.id вы проверяете, совпадают ли пользовательский объект и параметры запроса

В строке ниже вы найдете индекс элемента в массиве Users, чтобы его можно было удалить в следующей строке

const index = Users.findIndex(x => x.id == req.params.Id);
Users.splice(index,1);

Если элемент не найден, индекс будет -1. Также хорошо проверить это состояние. Теперь то, что не будет работать , будет Users[index]

Давайте посмотрим пример

const Users = [1, 3, 5,7,9];
const id = 5;
const index = Users.findIndex(x => x == id); // index is 2
Users.splice(index,1);
console.log(Users[index]);// output is 7 and not 5 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...