有没有更好的方法来比较两个jquery数组的元素?

时间:2014-05-14 05:14:06

标签: jquery asp.net

我真的坚持使用这个jquery解决方案。我创建了一些数组,其最终目标是将字符串存储在两个数组newDateAndTime = []和oldDateAndTime = []中。我试图检查数组是否相似,但没有找到工作的例子,所以我决定检查一个数组中的每个索引与另一个数组的相同索引。使用alert我可以看到newDataAndTime中的相同数据也在oldDateAndTime中,但是当我循环使用它时:

  if (newDateAndTime[x] == oldDateAndTime[x])
                 alert("Same");
             else alert("Not Same");

我得到了一些相同的元素,有些甚至不是当我用警报测试它们时它们显示相同的数据。有没有更好的方法来比较两个数组的元素?我为巨大的代码块道歉,但我会为了完整性而将其全部发布。我主要关注的是我尝试比较数组的结尾。谢谢你的帮助。

  <script type="text/javascript">


 $(function () {

     $("#date").datepicker();
     $('input[name=date]').datepicker();
     var dateInput = $("select[name='searchString']");

     var checkedindex = [];
     var classdate = [];
     var classtime = [];
     var dayofclass = [];
     var newDateAndTime = [];
     var oldDateAndTime = [];
     $("input[name='selectedCourses']").each(function (i) {
         if (this.checked) {

             checkedindex.push(parseInt(i));

         }

     });
     for (var x = 0; x < checkedindex.length; x++) {
         var ind = checkedindex[x];

         var dateofclass = $(".TextBoxDate:eq(" + ind + ")");
         var timeofclass = $(".TextBoxTime:eq(" + ind + ")");
         var classday = $("select[name='searchString']:eq(" + ind + ")");

         classdate.push(dateofclass);
         classtime.push(timeofclass);
         dayofclass.push(classday);


         oldDateAndTime = dayofclass[x].val() + classtime[x].val();


         alert(oldDateAndTime.toString());

     }


     $("#saveBtn").click(function () {


         for (var x = 0; x < checkedindex.length; x++) {
             var ind = checkedindex[x];

             var dateofclass = $(".TextBoxDate:eq(" + ind + ")");
             var timeofclass = $(".TextBoxTime:eq(" + ind + ")");
             var classday = $("select[name='searchString']:eq(" + ind + ")");

             classdate.push(dateofclass);
             classtime.push(timeofclass);
             dayofclass.push(classday);


             newDateAndTime = dayofclass[x].val() + classtime[x].val();

             if (newDateAndTime[x] == oldDateAndTime[x])
                 alert("Same");
             else alert("Not Same");


         }

     });

 });
</script>

0 个答案:

没有答案