如何在循环下面获取循环值只显示最后一个值,例如,如果我想打印循环结果。
var result;
for (var i=0; i < 10; i++) {
result = i;
}
console.log(result);
现在我如何在控制台中获得循环的迭代值(1到10),因为现在我只打印最后一个10的值。
答案 0 :(得分:4)
将log语句放在设置值的循环中。
var result;
for (var i=0; i < 10; i++) {
result = i;
console.log(result);
}
如果您只需要一个输出语句,则可以在记录之前连接结果:
var result = "";
for (var i=0; i < 10; i++) {
result += i + " ";
}
console.log(result);
这将输出0 1 2 3 4 5 6 7 8 9 10
答案 1 :(得分:2)
如果你真的想在循环之外登录,我认为这是非常不必要的,可能会使用数组吗? :
var result=[];
for (var i=0; i < 10; i++) {
result.push(i);
}
console.log(...result);
http://jsbin.com/gogeluhavi/edit?console
如果你想让结果make神奇地记录,你可以使用setter和一个代理,所谓的Observables。
在此控制台中输入result = 10,我已为您实施了一个Observable:http://jsbin.com/xacujabuwo/edit?console;您也可以粘贴for循环...
答案 2 :(得分:1)
以上的回答是正确的,但我想为你清理它,所以你也理解它。
在原始代码中,您已在循环外声明变量“result”,然后在每次迭代时为您的变量赋值。因此,第一次围绕“结果”= 0,第二次循环和“结果”= 1,依此类推。
当for循环结束时,它会读取下一行,这是你的console.log()语句,变量为“result”。变量“result”的最后一次修改是在第10次迭代的for循环中,那就是让它等于迭代器的位置,因此迭代器的值为11。
为了在每次迭代时显示某些内容,必须将console.log()放在循环中。请查看以下示例
var result;
for (var i=0; i < 10; i++) {
result = i;
console.log(result); // prints at every iteration
}
答案 3 :(得分:0)
由于你没有添加jQuery标签我只使用了javascript。
添加输入隐藏标记
<input id="idOfInput" style="visibility:hidden" type="text">
将所需值设置为输入
for (var i=0; i < 10; i++) {
result = i;
document.getElementById('idOfInput').value = result;
document.getElementById('idOfInput').change(); //note change() is to trigger the event
}
添加更改事件侦听器并获取在循环中设置的值
var input = document.getElementById('idOfInput');
input.addEventListener('input', function()
{
console.log('input changed to: ', input.value); //you get the value here
});
希望有所帮助