Javascript 返回数组中的所有对象

Javascript 返回数组中的所有对象,javascript,jquery,arrays,Javascript,Jquery,Arrays,我遗漏了一些非常明显的东西,请原谅我的无知:( 我有一组5个复选框,希望根据选中的复选框打印步骤。我需要此复选框以获得更大的输出,因此我将选择存储在它自己的变量中,如下所示: $checkBox.find('input:checked').each(function() { $rec = $(this).val() + "\n"; console.log($rec); }); 当我选中所有5个复选框并签入控制台时,一切都会正常返回:

我遗漏了一些非常明显的东西,请原谅我的无知:(

我有一组5个复选框,希望根据选中的复选框打印步骤。我需要此复选框以获得更大的输出,因此我将选择存储在它自己的变量中,如下所示:

        $checkBox.find('input:checked').each(function() {
        $rec = $(this).val() + "\n";
        console.log($rec);

    }); 
当我选中所有5个复选框并签入控制台时,一切都会正常返回:

但是,我想使用$rec中存储的输出在以后使用,因此我这样做是为了查看它的外观:

        $checkBox.find('input:checked').each(function() {

        $rec = $(this).val() + "\n";
        console.log($rec);

    }); 

// call rec into text input
        $textOutput.val($textOutput.val() + $rec + "\n");
        console.log($rec);
但由于某些原因,再次调用$rec时只返回“执行步骤5”

既然我已经在$rec中存储了5个复选框的输出,为什么我不能再次访问所有复选框而不仅仅是最后一个对象

但由于某些原因,再次调用$rec时只返回“执行步骤5”


每次都将值分配给
$rec
,因此在每次迭代中
console.log()
时,您将获得当前值。但是在每次迭代完成后
console.log()
时,您只会获得分配给变量的最后一个值。这是因为当您分配变量时,您会“覆盖”现有值(从技术上讲,您将变量指向不同的值),无论哪种方式,对上一个值的任何引用都将丢失。

尝试将$rec设置为数组[]

把你的价值观融入其中,比如

$rec.push($(this).val() + "\n");

这很有帮助!谢谢!在函数顶部声明$rec为空数组。谢谢您的解释!很高兴知道为什么会发生这种情况。