javascript - Node.js 数组实例化

标签 javascript arrays node.js

所以,我已经尝试了一段时间了,但没有成功。目前我有一个基于 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] as object. JavaScript objects are containers for named values. You can not set value of undefined

在这种情况下,

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/

相关文章:

javascript - 在 node.js 中,为什么会有一个 util.isArray 和一个 Array.isArray?

javascript - 是否可以在 javascript 中重写存储的 cookie 的值?

javascript - 二维数组到图像数据

javascript - 如何通过 Awesomium 库从 javascript 函数返回值?

php 仅从 csv 文件中选择第一列、中间列和最后一列

java - 错误: incompatible types: int[][] cannot be converted to int

javascript - Node.js 将函数导出为文件之间的变量或对象

node.js - 如何在 MongoDB 中 $unset 整个对象而不是将其保留为空或 null

javascript - 如何使用api创建quickblox应用程序?

javascript - 如何使这段代码更具功能性和可读性?