我想知道为什么会失败:
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/