我正在尝试使用$ .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/

10-11 05:17