javascript - 如何通过 hashmap 项进行迭代

标签 javascript hash

Loop through a 'Hashmap' in JavaScript我看到建议使用“for”循环来遍历哈希集合的元素。我实现了它,但代码如下:

    function MyClass(objs)
    {
        var _objs = objs;

        this.showNames = function () {
            var s = "Names: ";
            for (var obj in _objs) {
                s += obj.getName();
            }
            console.log(s);
        };
    }

    function MyObj(name)
    {
        var _name = name;

        this.getName = function () { return _name; };
    }

    var mc = new MyClass({ 'M': new MyObj("morning"), 'D': new MyObj("Day") });
    mc.showNames();

给出错误:

Uncaught TypeError: obj.getName is not a function

我做错了什么?

谢谢!

最佳答案

obj 是键名而不是值

var s = "Names: ";
for (var obj in _objs) {
    s += _objs[obj].getName();
}
console.log(s);

关于javascript - 如何通过 hashmap 项进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33057686/

相关文章:

Java打印对象、封装

javascript - 钛和合金 - 临时窗口被杀死时会关闭整个应用程序

javascript - 如何使用 node.js 将当前正在下载的视频流式传输到 html5 播放器?

javascript - 在响应式容器中重叠图像(object-fit 或 bgimage)

hash - 方案高阶函数

ruby - 为什么 Hash#select 和 Hash#reject 将 key 传递给一元 block ?

javascript - 模块 'ng' 没有导出成员 'ui' 当使用 ui-router type definition for typescript

javascript - 比较两个 html block 是否具有相同的内容

java - 如何开发交通执照号码的哈希函数?

perl - for 循环的范围问题