我正在尝试使用$ .inArray循环。基本上,我有要遍历的信息,我需要获取一部分信息并将其添加到数组中。如果该信息已经存在于该区域中(有重复项,三个相同,四个相同,等等,一直到同一数据的12个实例),我要在数据末尾附加一个数字确定是哪个重复项。这是我的代码:
var subject_name_original = subject_name;
if ($.inArray(subject_name, subject_array) !== -1){
subject_name = subject_name_original + '2';
if ($.inArray(subject_name, subject_array) !== -1){
subject_name = subject_name_original + '3';
if ($.inArray(subject_name, subject_array) !== -1){
subject_name = subject_name_original + '4';
}
}
}
subject_array.push(subject_name);
这一直循环到12个实例,因此您可以看到它的编写方式不是很有效。我想使用一个计数器变量来增加附加的数字,但不确定如何在这样的循环中使用inArray。
有任何想法吗?谢谢你的帮助!
最佳答案
您可以执行以下操作:
var subjectCounter = 1;
var originalSubjectName = subjectName;
while (subjectArray.indexOf(subjectName) !== -1) { // $.inArray is the same as this
subjectCounter += 1;
subjectName = originalSubjectName + subjectCounter;
}
subjectArray.push(subjectName);
关于javascript - $ .inArray()循环问题的更好语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23039162/