所以,我已经尝试了一段时间了,但没有成功。目前我有一个基于 PSN 配置文件数据的关联数组:
var PROFILE = {};
PROFILE.profileData = {};
PROFILE.titles = {};
并在代码中进一步使用:
PROFILE.profileData.onlineId = profileData.onlineId;
PROFILE.profileData.region = profileData.region;
PROFILE.titles[title.npCommunicationId] = title; //For looped, can be many
PROFILE.titles[title.npCommunicationId].trophies = {};
PROFILE.titles[title.npCommunicationId].trophies = trophyData.trophies; //any where from 10 - 50+ of these, for looped
问题是,如果我想要有多个配置文件,这不起作用,因为它只是将它们插入同一个配置文件中。我需要“PROFILE”是一个在每个索引处包含上述所有元素的数组。
PROFILEarray[n].profileData = {};
PROFILEarray[n].profileData.onlineId = profileData.onlineId;
PROFILEarray[n].profileData.region = profileData.region;
我需要这样的东西^
但是对于上述内容我收到此错误
Cannot read property 'profileData' of undefined
完成后,它会保存到 JSON 格式的文件中,然后由我编写的用于插入数据库的 PHP 代码使用。
这是 json 输出的一小段:http://textuploader.com/5zpbk (不得不剪,太少了,无法上传)
最佳答案
在这种情况下,you must define
PROFILEarray[n]
asobject
. JavaScript objects are containers for named values. You can not set value ofundefined
PROFILEarray[n]
是未定义
。将其初始化为{}(对象)
试试这个:
var PROFILEarray = [];
for (var n = 0; n < 5; n++) {
PROFILEarray[n] = {};
PROFILEarray[n].profileData = {};
PROFILEarray[n].profileData.onlineId = n;
PROFILEarray[n].profileData.region = 'Region' + n;
}
alert(JSON.stringify(PROFILEarray));
关于javascript - Node.js 数组实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34939272/