代码之家  ›  专栏  ›  技术社区  ›  SaÅ¡a

如何获取名称奇怪的对象属性

  •  0
  • SaÅ¡a  · 技术社区  · 9 年前

    我有一种情况,属性的名称是xml名称空间::元素(例如。 http://giggle.com/some/Path::Element ). 这是一个奇怪的情况,因为我可以阅读它,但我无法访问它。 下面是一个例子:

    var name: String = "http://giggle.com/some/Path::Element";
    var obj: Object = createAttributes(name);
    
    // Now we have obj:{ "http://giggle.com/some/Path::Element" : [an array] }
    
    for (var attr : Object in obj[name]){
        // do something
    }
    

    这只是真实事物的简化。看来我也看不懂了 obj.name 也没有 obj[name] 也没有 obj['"' + name + '"'] .

    我甚至尝试过类似的方法(elem的不同类型):

    for (var elem: Object in obj) { // I tried Object, Array and * here
        for (var c: Object in elem)
        {
            // do something with c
        }
    }
    

    为什么会发生这种情况,以及如何克服这个问题?由于这是一个有趣的问题,请不要考虑改变我创建obj的方式。AS3允许创建这样的属性,我正在考虑如何使用它。

    1 回复  |  直到 9 年前
        1
  •  2
  •   payam_sbr    9 年前

    我猜这个物体是 就是你所说的“奇怪的名字”。

    键可以是名称或索引id(字符串格式为“1”、“2”和“…”的数字)

    for (var key:String in obj) {
        var value:* = obj[key];
    }