jquery / javascript - как пройти через массив и создать переменные в каждой итерации? - PullRequest
0 голосов
/ 21 октября 2011

Мне интересно какое-то время, почему это не получается:

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"

Что я делаю не так?

EDIT: самая длинная будет выглядеть примерно так:

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

Функция отслеживания истории браузера в мобильном приложении с различными панелями.

EDIT2: Готовый код (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]; }
      }
   }

1 Ответ

5 голосов
/ 21 октября 2011

Вы должны написать что-то вроде:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...