javascript - jquery/javascript - 如何循环遍历数组并在每次迭代中创建变量?

标签 javascript jquery arrays for-loop

我想知道为什么会失败:

if (longest.length >= 3) {
    for ( var i = 0; i < longest.length-1; i++) {
      var $last[i] = longest[i].splice(-1).toString();
      //if ( $( $last[i] ).closest(':jqmData(role="panel")') == "popover" ) { 
      //var gotoPage = $last[i];
    // }
      }
    }

longest 是一个数组,其中包含数组元素。

我想循环遍历最长中的数组数量,并从每个嵌套数组的最后一个元素创建变量。 .splice(-1).toString() 失败告诉我“缺少 ; before 语句”

我做错了什么?

编辑: 最长的看起来像这样:

[[#menu、#menuSub1、#menuSub2]、[#main、yield、yield]、[#pop1、#pop1-1、#pop1-2]]

它位于具有不同面板的移动应用程序中跟踪浏览器历史记录的函数中。

编辑2: 完成的代码(Thx Mic):

if (longest.length >= 3) {
   var $last = [];
   for ( var i = 0; i < longest.length; i++) {
      $last.push( longest[i][ longest[i].length - 1 ]);
      if ( $( $last[i] ).closest(':jqmData(role="panel")').jqmData('panel')  == "popover" ) { 
         var gotoPage = $last[i]; }
      }
   }

最佳答案

你应该这样写:

if (longest.length >= 3) {
    var $last = [];
    for ( var i = 0; i < longest.length-1; i++) {
      $last.push( longest[i][ longest[i].length - 1 ] );
    }
  }

并使用$last[0]

获取值

或者使用像这样的哈希:

if (longest.length >= 3) {
    var hash = {};
    for ( var i = 0; i < longest.length-1; i++) {
      hash['$last'+ i] = longest[i][ longest[i].length - 1 ];
    }
  }

并使用例如hash.$last0获取内容

关于javascript - jquery/javascript - 如何循环遍历数组并在每次迭代中创建变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854196/

相关文章:

javascript - 自动显示数据库中没有的日期的 0 销售额

javascript - Canvas 预渲染?

android - 有时解析在数组中包含数组的 JSON

javascript - 如何在 Javascript 正则表达式中匹配单个单词?

javascript - Owl Carousel 2 自定义导航

javascript - bootstrap 正方形和矩形响应具有相同的高度

javascript - eventDrop 完整日历不移动事件

javascript - 文件上传并了解目录结构

Javascript 将平面数据转换为嵌套对象

javascript - 从数组转换为正确的对象格式