使用 var 键将 [数据对象] 添加到现有数组中
Add [DataObject] to exsisting array with var key
使用Cordova,我正在尝试将对象添加到数组中。 我在节点JS上使用以下命令工作: theData = {[varkey]:DataObject};
但是我无法让它在我的 JavaScript 中以与 cordova 相同的方式工作。
我需要执行以下操作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
我需要能够将其回调为:
theArray['Auckland']
这将返回(JSON 数据)
但它不想将带有密钥的数据存储在数组中。
我也尝试过:
theArray.TownName = townData;
theArray = [{TownName:townData}];
theArray = {[TownName]:townData}];
没有任何东西想要存储数据。
有什么建议吗?
::编辑::
data.theData =
"Auckland"[
{
"username":"pndemoname1",
"number":"373456",
"www":"http://373456.pndemoname1",
"icon":"/imgs/pndemoname1.png"
},
{
"username":"pndemoname2",
"number":"373458",
"www":"http://373458.pndemoname2",
"icon":"/imgs/pndemoname2.png"
}
data.town = "Auckland";
townData = new Array();
alert(JSON.stringify(data.theData))//Alerts theData
townData[data.town] = data.theData
alert(townData[townName]) //Alerts undefined
::编辑2::
在处理所有数据的函数中重新定义数组似乎可以使其工作。
根据我的回答,问题是我假设javascript vars是全局的。
使用对象或对象数组。
像这样的数据结构:
{
town1: town1Data,
town2: town2Data,
}
或更常见:
[
{
name: "Town 1",
data: {...}
},
{
name: "Town 2",
data: {...}
},
]
供参考:
http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
我明白你想做的,首先要动态地将属性名称添加到你的对象,通过确保你使用的是 OBJECT 而不是数组,所以当你想存储一些东西时,你会执行以下操作:
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
您面临的问题是您想在数组中分配一个字符串值作为键,这将不起作用。
但是,您仍然可以使用定义的数组并执行以下操作:
var _array = new array();
_array.push( { .... } ); // insert json structure
记得!通过使用数组,每次要访问密钥时都必须遍历所有值,这是避免出错的最佳做法。
祝你好运。
问题是我没有在我尝试添加信息的函数中定义数组。
我假设变量是全局的(PHP 太多了)
相关文章:
- 向多维数组添加值和从多维数组请求值
- 如何将JS数组添加到Meteor自动表单条目中
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 将行从数组添加到谷歌图表
- 从不同的数组添加重复的图块 PIXI.js
- 如何在 Javascript 中向数组添加其他对象
- 将javascript数组添加到多维数组中
- Coderbyte数组添加解决方案--For循环与For循环
- Knockout.js向数组添加新项
- Highcharts将变量数组添加到序列中
- 向javascript对象数组添加值
- 我可以用Javascript向数组添加函数吗
- 将数组添加到另一个数组
- 你能给被劫持的JavaScript数组添加一个函数吗
- 我可以向数组添加对象键吗
- 如何向JSON数组添加新属性
- 通过将$resource查询数组添加到AngularJS中另一个数组的底部来进行分页加载
- 使用名称/值从 json 数组添加项
- Javascript数组添加 - 所有组合
- 从 json 文件向 javascript 数组添加值