Javascript 使用var键将[DataObject]添加到现有数组
使用Cordova,我尝试获取要添加到数组的对象。我在node JS上使用了以下工具:Javascript 使用var键将[DataObject]添加到现有数组,javascript,arrays,Javascript,Arrays,使用Cordova,我尝试获取要添加到数组的对象。我在node JS上使用了以下工具: theData={[varkey]:DataObject} 但我不能让它在我的javascript中以科尔多瓦运行的方式工作 我需要做以下工作: var TownName = 'Auckland', var townData = (JSON Data); theArray = new Array(); theArray[TownName] = townData; var _obj = {}, _somet
theData={[varkey]:DataObject}代码>
但我不能让它在我的javascript中以科尔多瓦运行的方式工作
我需要做以下工作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
var _array = new array();
_array.push( { .... } ); // insert json structure
我需要能够通过以下方式回拨:
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变量是全局的。使用对象或对象数组
这样的数据结构:
{
town1: town1Data,
town2: town2Data,
}
或更常见的:
[
{
name: "Town 1",
data: {...}
},
{
name: "Town 2",
data: {...}
},
]
供参考:
使用对象或对象数组
这样的数据结构:
{
town1: town1Data,
town2: town2Data,
}
或更常见的:
[
{
name: "Town 1",
data: {...}
},
{
name: "Town 2",
data: {...}
},
]
供参考:
我明白了您要做的事情,首先要确保您使用的是对象而不是数组,以便动态地将属性名称添加到对象中,因此,当您要存储某些内容时,您将执行以下操作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
var _array = new array();
_array.push( { .... } ); // insert json structure
您面临的问题是,您希望在数组中指定一个字符串值作为键,这将不起作用
但是,您仍然可以使用定义的数组并执行以下操作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
var _array = new array();
_array.push( { .... } ); // insert json structure
记住!通过使用数组,您必须在每次访问密钥时遍历所有值,这是避免出错的最佳做法
祝你好运。我明白了你要做的事情,首先要确保你使用的是对象而不是数组,从而动态地向你的对象添加属性名,所以当你想存储一些东西时,你将执行以下操作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
var _array = new array();
_array.push( { .... } ); // insert json structure
您面临的问题是,您希望在数组中指定一个字符串值作为键,这将不起作用
但是,您仍然可以使用定义的数组并执行以下操作:
var TownName = 'Auckland', var townData = (JSON Data);
theArray = new Array();
theArray[TownName] = townData;
var _obj = {}, _something = 'xyz';
_obj[ _something ] = { ... }; // json structure
var _array = new array();
_array.push( { .... } ); // insert json structure
记住!通过使用数组,您必须在每次访问密钥时遍历所有值,这是避免出错的最佳做法
祝你好运。问题在于我没有在我试图添加信息的函数中定义数组
我假设var是全局的(太多PHP)问题是我没有在我试图添加信息的函数中定义数组
我假设var是全局的(太多的PHP)为什么要使用数组来保存不需要索引的键值对?您可以简单地使用对象
。将添加更多城镇,我以其中一个为例。最后,它将全部存储起来,以便以后检索,而数组将使任务更易于存储,而不是存储大量的对象不确定我是否遗漏了什么,但这是可行的:JSON数据
是否与您问题中的数据
相同?JSON数据是towndata的变量为什么要使用数组
来保存不需要索引的键值对?您可以简单地使用对象
。将添加更多城镇,我以其中一个为例。最后,它将全部存储起来,以便以后检索,而数组将使任务更易于存储,而不是存储大量的对象不确定我是否遗漏了什么,但这是可行的:JSON数据
是否与您问题中的数据
相同?JSON数据是TownDataArray的变量,仅用于数字存储。字符串将为数组指定属性名,但如果要循环数组,则无法访问该属性名,这会破坏整个目的。请看:阵列仅用于数字存储。字符串将为数组指定属性名,但如果要循环数组,则无法访问该属性名,这会破坏整个目的。看看: