javascript 对象键值循环 setInterval

javascript object key-value loop setInterval

本文关键字:setInterval 循环 键值 对象 javascript      更新时间:2023-09-26
var coords={100: 100, 120: 120, 140: 140, 160:160, 180:180};
for (var key in coords) {
    console.log(key + ' - ' + coords[key]);
}

我有可变coords和 for 循环,可以打印出这样的数字对:

100 - 100

120 - 120

140 - 140

160 - 160

180 - 160

我需要setInterval或其他东西来每秒安慰每对数字。我尝试添加 setInterval,但在这种情况下,代码每秒打印所有数字,而不是单个对。

这个问题有点不清楚,但我认为这就是你要问的。它将打印第一对,等待,打印下一对,等待,依此类推。

var coords = {/* coords */};
var keys = Object.keys(coords);
var index = 0;
var interval = setInterval(function() {
    console.log(keys[index] + " - " + coords[keys[index]]);
    index++;
    if(index == keys.length) {
        clearInterval(interval);
    }
}, 3000);

作为旁注,Javascript对象中的值顺序无法保证。如果打印坐标的顺序很重要,或者即使coordinates实际上表示坐标列表,最好coordinates数字对数组而不是对象。此外,对象的键将转换为字符串,这是您不希望使用数字坐标的东西。