OpenFL中的“Map iterator不是函数”

时间:2017-03-03 15:08:09

标签: iterator haxe openfl

我正在为Windows构建我的项目,一切正常。现在我开始在HTML5中构建它,我在地图迭代器中遇到错误:

for (entryMap in mapStruct.map)
{
    var array:Array<Dynamic> = entryMap;
    var keyObj = getJSONField(array[0], mapStruct.keyType);
    var valueObj = getJSONField(array[1], mapStruct.valueType);

    map.set(keyObj, valueObj);
}

我收到了这个错误:

  

异常名称:TypeError:mapStruct.map.iterator不是函数

我的项目适用于Windows,但我不知道该怎么做,我需要使用这样的地图。

1 个答案:

答案 0 :(得分:1)

我试图猜测mapStruct是什么而没有任何成功。 看起来你并没有以正确的方式在地图上循环...... 让我们看一些例子:

var map = ["hello" => 1, "world" => 4];

for (value in map)
{
    trace('value: $value');
}

返回:

value: 1
value: 4

您可以在link在线试用。

另一方面,如果你想得到键和值,你应该这样迭代:

var map = ["hello" => 1, "world" => 4];

for (key in map.keys())
{
    trace('key: $key value: ${map[key]}');
}

*请注意keys方法调用

它返回:

key: hello value: 1
key: world value: 4

这是&#39;尝试Haxe&#39; link为它

如果我知道mapStruct是哪种类型,我可能会帮助你更多