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

jquery/javascript-如何循环数组并在每次迭代中创建变量?,javascript,jquery,arrays,for-loop,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

我想知道为什么这会失败:

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];
    // }
      }
    }

你应该这样写:

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

并使用例如
散列来获取内容。$last0
您应该编写如下内容:

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

并使用例如
散列来获取内容。$last0

应该是变量名$last0,$last1,$last2…我相信splice()需要两个参数,都是正整数或零。如果你有一个额外的“}”,你可能忘了注释。@Diodeus:我经常使用它,总是这样,所以我认为这没有用。我认为要么是chaining splice().toString()不起作用,要么就是我不能像这样声明变量:$last[I]应该是变量名$last0,$last1,$last2…我相信splice()需要两个参数,都是正整数或零。如果你有一个额外的“}”,你可能忘了注释。@Diodeus:我经常使用它,总是这样,所以我认为这没有用。我认为,要么是链接拼接().toString()不起作用,要么就是我不能像这样声明变量:$last[I]可能是一个
最长
的示例,这将有助于我编辑答案,是否更好?如果你只有两级数组,这没关系。如果你有更多的数组,它需要递归
最长。length-1
有点奇怪,因为你永远不会到达longest的最后一个元素。你的第一个代码片段工作得很好!谢谢今晚我可能会梦见“数组样式”…可能会给我一个最长的样本,这会有助于我编辑答案,它更好吗?如果你只有两级数组,这没关系。如果你有更多的数组,它需要递归
最长。length-1
有点奇怪,因为你永远不会到达longest的最后一个元素。你的第一个代码片段工作得很好!谢谢今晚我可能会梦见“阵列风格”。。。
if (longest.length >= 3) {
    var hash = {};
    for ( var i = 0; i < longest.length-1; i++) {
      hash['$last'+ i] = longest[i][ longest[i].length - 1 ];
    }
  }