首页 > 解决方案 > Javascript“for of”循环未正确解析为值

问题描述

我有一个简单的数组,我正在尝试迭代,但我显然不理解 JavaScript 循环的“for of”。以下代码完全返回了它应该;

const callOBJb = ['KD0NBH0BJ','W0DLKOBJ','WA0TJTOBJ'];
        for (let i of callOBJb) {  
            console.log(i);
        }

返回:KD0NBHOBJ W0DLKOBJ WA0TJTOBJ

但是下面的代码出错了;“TypeError:i.getCenter 不是函数。(在 'i.getCenter()' 中,'i.getCenter' 未定义)”因为变量 'i' 无法解析为上述之一。

for (let i of callOBJb) {
       var Omiddle = i.getCenter(); 
    }

当我手动输入变量时;

var Middle = W0DLKOBJ.getCenter();

它工作得很好。我不明白这应该如何工作?我认为我不能在这里使用 ForEach 至少我没有比 for...of 更多的运气。

有人问我 W0DLKOBJ 的已解析变量可能是什么样的。

alert(JSON.stringify(KD0NBHOBJ));
 {"_southWest":{"lat":39.204385,"lng":-94.60714},"_northEast":{"lat":39.20646,"lng":-94.60481}}

标签: javascriptjavascript-objects

解决方案


这有效:

var Middle = W0DLKOBJ.getCenter();

因为这:

W0DLKOBJ

与此不同:

'W0DLKOBJ'

如果数组应该包含变量值而不是字符串文字,请不要使用引号:

const callOBJb = [KD0NBH0BJ, W0DLKOBJ, WA0TJTOBJ];

推荐阅读