获取数组中的元素数(JS)

时间:2017-04-12 13:41:51

标签: javascript jquery ajax

我有AJAX电话

这是代码

 $.ajax({
        url: '@Url.Action("EmailsList", "Questions")',
        contentType: 'application/json; charset=utf-8',
        type: 'GET',
        dataType: 'json',
        processData: false,
        success: function (result) {
            var email = result;
           // console.log(result[0].Name);
            for (var i = 0; i <= email.length - 1; i++) {
                var emailHTML = '<div style="margin-left: 25px; margin-top: 10px;>' +
                    '<b style="margin-left: 10px;">' + result.indexOf(this)+
                    result[i].Email +
                    '<b>' +
                    '<b style="margin-left: 20px;">' +
                    result[i].Name +
                    '</b>' +
                    '</div>';
                $(".email_list").append(emailHTML);
            }
        }
    });
}

我需要写1的元素编号,我试过这个result.indexOf(this),但它不起作用

我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

你可以简单地使用你正在迭代的变量 i

 var emailHTML = '<div style="margin-left: 25px; margin-top: 10px;>' +
                    '<b style="margin-left: 10px;">' +(i+1)+
                    result[i].Email +
                    '<b>' +
                    '<b style="margin-left: 20px;">' +
                    result[i].Name +
                    '</b>' +
                    '</div>';
                $(".email_list").append(emailHTML);

使用(i + 1)的具体原因是因为我从0开始迭代,你希望它从1开始。

答案 1 :(得分:1)

如果我理解,你应该写一些类似的东西:

var emailHTML = '<div style="margin-left: 25px; margin-top: 10px;>' +
                    '<b style="margin-left: 10px;">' + (i + 1) +
                    result[i].Email +
                    '<b>' +
                    '<b style="margin-left: 20px;">' +
                    result[i].Name +
                    '</b>' +
                    '</div>';

只需使用变量的值i循环递增。