Jquery/javascript对象从每个()函数复制值

Jquery/javascript对象从每个()函数复制值,javascript,jquery,Javascript,Jquery,我有3个输入[name=alc\u val] 我试图在这个对象中获得它们的价值。 我这样做: var alc_val = new Array(); $("input[name=alc_val]").each(function(i){ alc_val[i]= $(this).val(); }); console.log(alc_val); 我预料到了:[“111”、“111”、“111”] 我发现了这个:[“111”、“111”、“111”、“111”、“111”、“111”] 为

我有3个
输入[name=alc\u val]
我试图在这个对象中获得它们的价值。 我这样做:

var alc_val = new Array();
$("input[name=alc_val]").each(function(i){
    alc_val[i]= $(this).val();
});

console.log(alc_val);
  • 我预料到了:
    [“111”、“111”、“111”]
  • 我发现了这个:
    [“111”、“111”、“111”、“111”、“111”、“111”]

为什么会这样?我如何才能获得预期的输出?

我在这里重现了这个场景:


var alc_val=新数组();
$(“输入[name=alc_val]”)。每个(函数(i){
alc_val[i]=$(this.val();
});
控制台日志(alc_val);
它起作用了。因此,您必须有3个以上的文本框,它在这里工作: 也许你有6个输入


Html


你能制作一把小提琴来演示这个问题吗?例如,似乎工作正常。很可能您有六个
input[name=alc\u val]
s惊讶。。我只有3个字段,但JS是6个。我不知道为什么。
<input name="alc_val" value="test1"/>
<input name="alc_val" value="test2"/>
<input name="alc_val" value="test3"/>

var alc_val = new Array();
$("input[name=alc_val]").each(function(i){
    alc_val[i]= $(this).val();
});

console.log(alc_val);
<input name="alc_val" value="111">
<input name="alc_val" value="111">
<input name="alc_val" value="111">
var alc_val = new Array();
$("input[name=alc_val]").each(function(i){
  alc_val[i]= $(this).val();
});

console.log(alc_val);