创建自动填充javascript数组
我想用javascript填充两个数组,以模拟及时更新图表。 为此,我希望填充两个图表 var array1=[1,2,3,…]//以秒为单位的时间 var array2=[10,15,12,…]//任意随机数 每个元素应以1秒的间隔推送到数组中 已尝试,但阵列没有得到我想要的更新创建自动填充javascript数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我想用javascript填充两个数组,以模拟及时更新图表。 为此,我希望填充两个图表 var array1=[1,2,3,…]//以秒为单位的时间 var array2=[10,15,12,…]//任意随机数 每个元素应以1秒的间隔推送到数组中 已尝试,但阵列没有得到我想要的更新 var time = []; var value = []; $(document).ready(function() { update(); }); function update() {
var time = [];
var value = [];
$(document).ready(function() {
update();
});
function update() {
var index = 0;
setTimeout(function () {
index++;
time.push(index);
value.push(Math.random() * (0 - 200));
console.log(time)
console.log(value)
update();
}, 1000);
}
您应该移动
var index=0代码>在更新功能之外
var-time=[];
var值=[];
$(文档).ready(函数(){
更新();
});
var指数=0;
函数更新(){
setTimeout(函数(){
索引++;
时间推送(索引);
value.push(Math.floor(Math.random()*200));
console.log(时间)
console.log(值)
更新();
}, 1000);
}
您应该移动var index=0代码>在更新功能之外
var-time=[];
var值=[];
$(文档).ready(函数(){
更新();
});
var指数=0;
函数更新(){
setTimeout(函数(){
索引++;
时间推送(索引);
value.push(Math.floor(Math.random()*200));
console.log(时间)
console.log(值)
更新();
}, 1000);
}
var index=0
它没有得到更新,因为在每次迭代中将它重置为0
。将其移出update()
fn
所以,试试看:
var index = 0 ; // Outside the update fn scope
var time = [];
var value = [];
$(document).ready( update );
function update() {
setTimeout(function () {
time.push(++index);
value.push( ~~(Math.random() * 200 ) + 1);
console.log(time)
console.log(value)
update();
}, 1000);
}
var index=0
它没有得到更新,因为在每次迭代中将它重置为0
。将其移出update()
fn
所以,试试看:
var index = 0 ; // Outside the update fn scope
var time = [];
var value = [];
$(document).ready( update );
function update() {
setTimeout(function () {
time.push(++index);
value.push( ~~(Math.random() * 200 ) + 1);
console.log(time)
console.log(value)
update();
}, 1000);
}
您使用的是setInterval
(与您使用的setTimeout
几乎相同)
不同之处在于,setTimeout
在指定的超时后运行函数一次,而setInterval
重复运行
还请检查clearInterval
(将在setInterval
的返回值上运行),它会停止函数的执行
// to start
var interval = setInterval(function () { /* ... */ }, 1000);
// to stop
clearInterval(interval);
在切换函数后,您也不再需要在自身内部调用update()
。您所使用的是setInterval
(与您所使用的setTimeout
几乎相同)
不同之处在于,setTimeout
在指定的超时后运行函数一次,而setInterval
重复运行
还请检查clearInterval
(将在setInterval
的返回值上运行),它会停止函数的执行
// to start
var interval = setInterval(function () { /* ... */ }, 1000);
// to stop
clearInterval(interval);
切换函数后,您也不再需要在函数内部调用update()
。会发生什么?将索引放入函数内部的愚蠢错误。已正确更新。如果问题是主要错误的来源,请不要特别修复您的问题。否则答案看起来很傻。会发生什么呢?把索引放在函数中的愚蠢错误。已正确更新。如果问题是主要错误的来源,请不要特别修复您的问题。否则答案看起来会很傻。我怀疑我读的不是同一本书。。。让我们澄清一下我怀疑我没有读到同样的东西。。。让我们澄清一下评论