Javascript 如何使用each()在数组中推送值

Javascript 如何使用each()在数组中推送值,javascript,jquery,Javascript,Jquery,我想要一个简单的逻辑- 每个循环运行输入单选并获取两个值,即单选btton的值和单选按钮的名称 现在,警报窗口仅显示最后一个元素的结果 我希望所有数组结果都存储在mf中 名称正在动态提交 $(“输入[类型=无线电]:选中”)。每个(函数(){ var1=$(this.val(); var2=$(this.attr(“name”); mf=[var2+“”+var1]; }); 警报(mf) A. B B C var mf=[]; $(“输入[type=radio]:选中”)。每个(函数(){

我想要一个简单的逻辑- 每个循环运行输入单选并获取两个值,即单选btton的值和单选按钮的名称 现在,警报窗口仅显示最后一个元素的结果 我希望所有数组结果都存储在mf中 名称正在动态提交

$(“输入[类型=无线电]:选中”)。每个(函数(){
var1=$(this.val();
var2=$(this.attr(“name”);
mf=[var2+“”+var1];
});
警报(mf)

A.
B
B
C
var mf=[];
$(“输入[type=radio]:选中”)。每个(函数(){
var1=$(this.val();
var2=$(this.attr(“name”);
mf.push(变量1)
mf.push(变量2)
});
控制台日志(mf)

A.
B
B

C
问题在于,您在每次迭代中都要重新定义
mf
的值,因此它只在循环结束时保存最终值

要解决此问题,请使用
push()
向数组中添加元素:

var mf=[];
$(“输入[type=radio]:选中”)。每个(函数(){
var1=$(this.val();
var2=$(this.attr(“name”);
mf.push(var2+“”+var1);
});
控制台日志(mf)

A.
B
B

C
重新定义mf,而不是添加内容。您应该执行以下操作:

var mf = [];

$( "input[type=radio]:checked" ).each(function(){
    var1 = $(this).val();
    var2 = $(this).attr("name");
    mf.push(var2+"_"+var1);
}); 
alert(mf) ;

首先,将变量mf声明为数组,然后在每个循环中使用
.push()
函数将数据推送到其中。

有一个名为
.push()
()的Javascript函数

因此,您要做的是在
之外定义
mf
数组。each()
然后对于循环的每次迭代,将结果推送到
mf
数组中

var mf = [];
$( "input[type=radio]:checked" ).each(function(){
    var1 = $(this).val();
    var2 = $(this).attr("name");
    mf.push(var2+"_"+var1);
});

// mf = ["name1_val1", "name2_val2"]

我想这对你有用

var mf=[];
$(文档)。在('单击','输入[type=radio]',函数()上{
如果($(this).is(“:checked”)){
mf.push($(this.val()+“”+$(this.attr(“name”));
}
})

A.
B
B

C
这似乎与所问问题无关(例如,
表tr
电子邮件从何而来?)。至少,它需要一些文本来解释它是如何解决问题的。一个好的答案将表明所提供的任何代码如何适合这种情况——不要只是复制并粘贴一些解决了模糊相关问题的代码。
  var studentList =[];
  var emailAddresses=[];
  $('table tr').each(function (i, row) {
  var tr =$(row);
  var chk= tr.find('input[type="checkbox"]').is(':checked')
  console.log(chk)
  if(chk){
      emailAddresses.push(tr.find('.email').text())
      studentList.push(tr.find('input[type="checkbox"]').prop('id'))
      console.log(emailAddresses);
      console.log(studentList);        
     }
  });