Javascript 如何找到.each()的结尾?

Javascript 如何找到.each()的结尾?,javascript,jquery,Javascript,Jquery,我确实在上面寻找了一些其他的答案,我在这里找到了我正在使用的答案,但是看起来它从来没有发生过,因为它没有触发return falseconsole.log(myId)中的任何一个通常应为 let pattern = new RegExp('^\/wiki\/'); var total = doSelect("Location").siblings('td').find('a').length; doSelect("Location").siblings('td

我确实在上面寻找了一些其他的答案,我在这里找到了我正在使用的答案,但是看起来它从来没有发生过,因为它没有触发
return false
console.log(myId)中的任何一个通常应为

      let pattern = new RegExp('^\/wiki\/');
      var total = doSelect("Location").siblings('td').find('a').length;
      doSelect("Location").siblings('td').find('a').each(function(i, el, index) { 
        var result = $(this).attr('href').replace(pattern, '');
        console.log(result);
        if (index === total - 1) {
          myId = item.pageid;
          console.log(myId);
          return false;
        }
      });
我甚至按照建议尝试了以下方法,但没有任何积极的结果:

  let pattern = new RegExp('^\/wiki\/');
  doSelect("Location").siblings('td').find('a').each(function(i, el) { 
    var result = $(this).attr('href').replace(pattern, '');
    console.log(result);
  }).promise().done( function(){ 
    myId = item.pageid;
    console.log(myId);
    return false;
  });
更新

关于:
项目
(以下数据无问题),上述代码在以下
数据中:

  $.getJSON(url,function(data){
    $.each(data, function(i, item) {
.each(function(i, el, index)

each()
回调没有第三个参数。您称之为
索引的内容未定义。第一个参数
i
是索引

改为:

if (i === total - 1)

第一个选项有一个sintax错误:

.each(函数(i,el,index)必须是.each(函数(index,el)


问题是变量
index
没有定义,因此
if(index==total-1)
永远不会返回true

调用函数
。每个

  $.getJSON(url,function(data){
    $.each(data, function(i, item) {
.each(function(i, el, index)
应该是

.each(function(i, el)
if (i === total - 1)
那么测试应该是

.each(function(i, el)
if (i === total - 1)
cf,说明函数采用的两个参数:

.每个(功能)

函数类型:函数(整数索引、元素)


您还可以使用
.last()
函数:

一,

二,


什么是
item
?@er han更新了你的问题的答案,以防其他人需要它。你不应该在你的if语句中简单地使用
i
而不是
index
?@er han是的,会接受MTK的答案,就像它提到的那样that@charlietfl如果也需要较高的迭代索引呢?也许现在不需要,但现在就可以了我明白了!现在就测试谢谢,现在就试试这个,因为它会使它变小