我知道这是一个很奇怪的问题,但是,我正在创建一个防止数组中重复值的保护程序,我写了一部分,并从stackoverflow得到了一些帮助,但是我无法正确理解代码的含义
所以我用null原型创建了对象并对其进行迭代以检测重复值(我知道Set构造函数要容易得多,但是我在服务器端代码中做到了这一点,并且由于较旧的浏览器不支持Set,因此使用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在重复标签保护对象中,是否使用return语句防止继续进行循环,如果不是,则val向对象添加的值,但我不知道如何在该部分中实现代码(duplicateTagsGuard[val] = true)如果有人可以解释我将很高兴
慕娘9325324
相关分类