我有一个我创建的数组,我想检查它以确保它不包含重复值。
我的方法是创建第二个数组 (tempArray) 从第一个数组 (uniqueLabel) 中获取值,并针对 tempArray 中的所有项目测试该值。如果未检测到该值,请将其插入。否则提醒用户
var tempArray = []; //temp array to store names
$.each(self.producNames().SelectedAttributes(), function (index, value) {
var uniqueLabel = value.LabelName().toLowerCase();
//I did have the evaluation set to !($.inArray(value.LabelName().toLowerCase(), tempArray, 0)
//however this alwasy returned false I set it to true just to see what would happen
//now it always returns true
if ($.inArray(value.LabelName().toLowerCase(), tempArray, 0)) {
tempArray.push(value.LabelName());
console.log(value.LabelName() + " added to array[]");
}
else {
console.log("label " + uniqueLabel + " already exists at index "+ tempArray.indexOf());
}
我对 jQueryinArray()
函数不太熟悉,但在查看文档时,我的设置方式似乎是正确的。但是有些事情是不正确的,因为当我传入重复的标签名称时,它们会被插入到我希望操作返回 0 并执行 else 块的数组中。相反,它总是返回 true。
关于我在这里不正确的任何建议?
谢谢