繁体   English   中英

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

[英]jquery/javascript -how to loop through array and create variables in each iteration?

我想知道一段时间后为什么会失败:

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是一个数组,其中包含数组元素。

我想遍历longest的数组数,并从每个嵌套数组的最后一个元素创建变量。 .splice(-1).toString()无法告诉我"missing ; before statement"

我究竟做错了什么?

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

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

该功能可在具有不同面板的移动应用程序中跟踪浏览器的历史记录。

EDIT2:完成的代码(Thx麦克风):

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获取内容hash.$last0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM