Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery识别foreach循环的最后一个索引_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery识别foreach循环的最后一个索引

Javascript 如何使用jquery识别foreach循环的最后一个索引,javascript,jquery,Javascript,Jquery,这是我的每个函数,我如何识别每个循环的最后一个索引 var mailtest = ''; $.each(data.getEmail, function (i) { $.each(data.getEmail[i], function (key, val) { if(key == 'personal_email'){ mailtest += val+';'; } }); }); alert(mailtest); 因为我得到的是

这是我的每个函数,我如何识别每个循环的最后一个索引

var mailtest = '';
$.each(data.getEmail, function (i) {
    $.each(data.getEmail[i], function (key, val) {
        if(key == 'personal_email'){
            mailtest += val+';';
        }
    });
});
alert(mailtest);
因为我得到的是这样的输出,所以我不想要最后一名

输出:

test@gmail.com; test1@gmail.com; test2@gmail.com; test3@gmail.com;
我想要的输出:

test@gmail.com; test1@gmail.com; test2@gmail.com; test3@gmail.com
非常简单:

var mailtest = [];
$.each(data.getEmail, function (i) {
  $.each(data.getEmail[i], function (key, val) {
    if(key == 'personal_email'){
        mailtest.push(val)
    }
  });
});
console.log(mailtest.join(";"));

注意:如果您发布了一个数据示例,我们很可能会找到一个地图,它可以在一行中获得数据,非常简单:

var mailtest = [];
$.each(data.getEmail, function (i) {
  $.each(data.getEmail[i], function (key, val) {
    if(key == 'personal_email'){
        mailtest.push(val)
    }
  });
});
console.log(mailtest.join(";"));

注意:如果您发布了一个数据示例,我们很可能会找到一个地图,它可以在一行中得到数据。我建议您使用的方法如下:

  • filter()首先检查数组

  • 然后映射它()

  • 最后将其连接成一个字符串()

  • 代码如下:

    var mailtest='';
    $.each(data.getEmail,函数(i){
    mailtest+=data.getEmail[i]
    .filter((key,val)=>(key=='personal_email'))
    .map((键,val)=>val)
    .join(“;”)
    });
    警报(邮件测试);
    

    或者您可以删除字符串的最后一个字符:

    mailtest.substring(0, mailtest.length - 1);
    
    我建议您使用的方法如下:

  • filter()首先检查数组

  • 然后映射它()

  • 最后将其连接成一个字符串()

  • 代码如下:

    var mailtest='';
    $.each(data.getEmail,函数(i){
    mailtest+=data.getEmail[i]
    .filter((key,val)=>(key=='personal_email'))
    .map((键,val)=>val)
    .join(“;”)
    });
    警报(邮件测试);
    

    或者您可以删除字符串的最后一个字符:

    mailtest.substring(0, mailtest.length - 1);
    
    您可以使用
    join()
    。 只要您的数据结构与此相似

    var数据={
    获取电子邮件:[
    {
    个人电子邮件:'test@gmail.com'
    },
    {
    个人电子邮件:'test1@gmail.com'
    },
    {
    个人电子邮件:'test2@gmail.com'
    },
    ]
    }
    console.log(
    data.getEmail.map(a=>a.personal_email.join(“;”)
    )
    您可以使用
    join()
    。 只要您的数据结构与此相似

    var数据={
    获取电子邮件:[
    {
    个人电子邮件:'test@gmail.com'
    },
    {
    个人电子邮件:'test1@gmail.com'
    },
    {
    个人电子邮件:'test2@gmail.com'
    },
    ]
    }
    console.log(
    data.getEmail.map(a=>a.personal_email.join(“;”)
    
    )
    i==data.getEmail.length-1
    为什么不使用
    join()
    instead@LuisfelipeDejesusMunoz你可以发布一个答案吗?不需要答案,这是基本的JS:如果你发布了一个数据示例,我们可能会找到一个
    map
    ,它将把它放在一行
    i==data.getEmail.length-1
    为什么不使用
    join()
    instead@LuisfelipeDejesusMunoz你可以发布一个答案吗?不需要答案,这是基本的JS:如果你发布了一个数据示例,我们可能会找到一个
    映射
    ,它可以在一行中得到它(您可以使用join,而不考虑结构;)谢谢您的时间,先生,我会记下这个解决方案。您可以使用join,无论其结构如何;)谢谢你的时间,先生,我会记下这个解决方案。谢谢你的时间,先生,我会记下这个解决方案。我也不相信这是有效的。您正在连接每一轮。如果有更多,则您将获得
    xxx@yyy.com;xxx@yyy.com;xxx@yyy.comxxx@yyy.com;xxx@yyy.com
    谢谢您的时间,先生,我会记下这个解决方案。我也不相信这是有效的。您正在连接每一轮。如果有更多,则您将获得
    xxx@yyy.com;xxx@yyy.com;xxx@yyy.comxxx@yyy.com;xxx@yyy.com