Foreach循环javascript失败

Foreach loop javascript failing

本文关键字:失败 javascript 循环 Foreach      更新时间:2023-09-26

为什么这条语句会导致我的代码中断?我还必须设置一个索引与javascript?

var email = [];
email['update'] = true;
email['e_case_id'] = $("#e_case").val();
var i = 0;
$.each($('.rowChecked'), function() {
    email['e_attachments'][i] = $(this).attr('id');
    i++;
});

首先,email应该是对象字面值,而不是数组字面值:

var email = {};

其次,您在尝试使用email['e_attachments']之前没有定义它。这可能就是阻止它工作的原因。尝试添加

email['e_attachments'] = [];

Before the $.each .


顺便说一句,在这种情况下可以使用$.map。即:
email['e_attachments'] = $.map($('.rowChecked'), function (el) { 
    return $(el).attr('id'); 
});

代替你的$.each。或者更好:

email['e_attachments'] = $('.rowChecked').map(function () { 
    return $(this).attr('id'); 
}