я знаю, что это довольно странный вопрос, но я создавал защиту от повторяющихся значений в массиве, я записывал некоторую часть и получил небольшую помощь от stackoverflow, но я не могу правильно понять смысл кода
, поэтому я создал объект с null
прототипом и повторил цикл по нему, чтобы обнаружить дублирующиеся значения (я знаю, что конструктор Set намного проще, но я делаю это в своем коде на стороне сервера, и поскольку старые браузеры не поддерживают Set it было бы опасно использовать Set). вот мой код
var duplicateTagsGuard = Object.create(null);
for(var co = 0; co < tags.length; co++){
let val = tags[co];
if(val in duplicateTagsGuard){
return res.status(409).send({
message: ''
})
}
duplicateTagsGuard[val] = true
}
и часть, которую я не могу понять, это duplicateTagsGuard[val] = true
поэтому, если мы разделим мой код шаг за шагом и объясним, что это будет похоже на
1.первое создание нулевого объекта
2. Вставьте в него цикл и объявите переменную val
и сделайте его равным каждому элементу в массиве тегов
3. Затем проверьте, находится ли val
в объекте duplicateTagsGuard и используется ли оператор return для предотвращения продолжения цикла, а если нет, то мы добавляем значение val
к объекту, но я этого не делаю знать, как это реализовано с этой частью кода (duplicateTagsGuard[val] = true
), если кто-нибудь может объяснить, я буду рад