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,但在这种情况下,代码每秒打印所有数字,而不是单独的对。
答案 0 :(得分:4)
这个问题有点不清楚,但我认为这就是你要求的。它将打印第一对,等待,打印下一对,等待,等等。
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);
作为旁注,the order of values in Javascript objects are not guaranteed。如果打印坐标的顺序很重要,或者即使coordinates
实际上表示坐标列表,最好使coordinates
成为一组数字而不是一个对象。此外,对象的键被转换为字符串,这是你不想要的数字坐标。