JavaScript 传递的是对象数组而不是数组数组

标签 javascript flash actionscript-3 arrays flashvars

我通过 FlashVarsJavascript Array() 传递给 Flash,但 Flash 提示。你们能指出我在这里做错了什么吗?

javascript代码

// array with the user defined cities
var usercities = new Array( 
    {'nome':"London", 'lat':51.5002, 'long':-0.1262 },
    {'nome':"NYC", 'lat':51.5002, 'long':-0.1262 } 
);

flashvars.newcities = usercities;

Flash代码

// this array is pre-populated so if the users doesn't enter data this is shown
var cities:Array = new Array(
    { nome:"London", lat:51.5002, long:-0.1262 },
    { nome:"NYC", lat:40.7144, long:-74.0060 }
);

// gets FlashVars
var newcities:Object = LoaderInfo(this.root.loaderInfo).parameters.newcities;
if(newcities != null) {
    cities = newcities;
};

不起作用。我需要让 Flash 端上的 cities 数组保持原样。在 Javascript 方面,所有代码都可以更改。

感谢您的帮助。

最佳答案

JavaScript 不像其他语言那样具有关联数组。为了拥有命名索引,您必须使用一个对象。分配了具有命名索引的值的数组将被转换为对象。

为此,您可能需要更改 Flash 代码。正如 Meder 所说,序列化数组是最好的选择。我建议在 JavaScript 中进行 JSON 编码并在 Flash 中进行解码。

关于JavaScript 传递的是对象数组而不是数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3240800/

相关文章:

javascript - Polymer:Vers 简单数据绑定(bind)在第二个元素中不起作用

javascript - 如何使用变量来定义新的 google.maps.LatLng()

javascript - Flex 项目包括 SWFAddress.js

flash - AS3从父类引用子类的子类而不实例化?

image - 从图像创建 .flv

javascript - Mocha 作用域函数未定义

javascript - 将函数参数传递给 Object.assign

php - 如何向搜索引擎显示 HTML 页面而不是 Flash

actionscript-3 - Actionscript 3 和动态蒙版

java - 如何正确加载多个外部swf文件?