javascript - 数组值不正确

标签 javascript jquery arrays

我有一个数组(拼接为大小 2),用于跟踪用户单击的内容(第一次、最后一次)。第一个和最后一个元素是唯一的。

我正在尝试根据用户点击的内容加载内容。发生的奇怪的事情是,除非我执行 2 个 console.logs,否则我看不到更新的数组。如果 1 个日志已完成,则数组不会更新。我猜这与数组执行/操作时间有关。

我调试的方法是使用单击处理程序来记录并单击以查看数组值。有什么建议或提示吗?

我以前从未遇到过这个问题。谢谢。

    var clicksInfo = [];

    $('#a, #b, #c').on('click', function(e){

    // array: add, splice
    if(jQuery.inArray($(this).attr('id'), clicksInfo) == -1){
        clicksInfo.push($(this).attr('id'));
        if(clicksInfo.length == 2){
          //  might do something
        }else if(clicksInfo.length == 3){
          clicksInfo.splice(0,1);
        }
      }else{
        clicksInfo.splice(0,1);
        clicksInfo.push($(this).attr('id'));      
      }

      if($(this).attr('id') == 'a'){
        //  do stuff.
      }else if($(this).attr('id') == 'b'){  
        //  do stuff.
      }else if($(this).attr('id') == 'c'){
        //  do stuff.
      }
    });


    $(document).on('click', function(){
      console.log('clicksInfo', clicksInfo);
      // console.log('clicksInfo', clicksInfo);
    });

最佳答案

字符串是字符串,数组是数组,即使在 console.log 中也是如此,所以在执行时:

console.log('clicksInfo', clicksInfo);

这是一个字符串,一个逗号,然后是一个数组?

尝试做:

console.log('clicksInfo : '+ clicksInfo);

要显示字符串表示形式,或将数组显示为对象,请不要将其与其他奇怪的东西混合在一起:

console.log(clicksInfo);

关于javascript - 数组值不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901826/

相关文章:

java - 变量未初始化 - 虽然我是?

javascript - Js函数返回undefined

arrays - 在 Fortran 中选择给定逻辑向量的数组的子集

javascript - jQuery 事件处理程序不会在单击时激活

javascript - 椭圆形 : TypeError : Converting circular structure to JSON

jquery - 编辑菜单栏的CSS脚本

jQuery 如果 td 为空则隐藏 block

javascript - 需要从表单中获取选定的选项值并通过 jquery/javascript 传回

javascript - 动画不同标记 API V3 Google map

javascript - 在页面顶部插入内容而不滚动