Javascript'for of'循环没有正确解析到值

Kei*_*ser 1 javascript javascript-objects

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

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

返回:KD0NBHOBJ W0DLKOBJ WA0TJTOBJ

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

for (let i of callOBJb) {
       var Omiddle = i.getCenter(); 
    }
Run Code Online (Sandbox Code Playgroud)

当我手动输入变量时,例如;

var Middle = W0DLKOBJ.getCenter();
Run Code Online (Sandbox Code Playgroud)

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

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

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

Dav*_*vid 5

这有效:

var Middle = W0DLKOBJ.getCenter();
Run Code Online (Sandbox Code Playgroud)

因为这:

W0DLKOBJ
Run Code Online (Sandbox Code Playgroud)

与此不同:

'W0DLKOBJ'
Run Code Online (Sandbox Code Playgroud)

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

const callOBJb = [KD0NBH0BJ, W0DLKOBJ, WA0TJTOBJ];
Run Code Online (Sandbox Code Playgroud)