Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript在对象中存储数据数组_Javascript_Arrays - Fatal编程技术网

如何使用JavaScript在对象中存储数据数组

如何使用JavaScript在对象中存储数据数组,javascript,arrays,Javascript,Arrays,如何在对象中存储数据数组。我尝试使用 var namelist = [], labelDetails = {}; addedLabels_list.push(name); labedDetails_list[ownerName] = Address; namelist保存唯一的名称,而labelDetails将数据存储在键值对中 Namelist : 0:"ahmad" 1:"jhon" 2: "hamza" 3: "emma" labelDetails : ahmad :"lah

如何在对象中存储数据数组。我尝试使用

 var namelist = [], labelDetails   = {};
 addedLabels_list.push(name);
 labedDetails_list[ownerName] = Address;
namelist保存唯一的名称,而labelDetails将数据存储在键值对中

Namelist :
0:"ahmad"
1:"jhon"
2: "hamza"
3: "emma"

labelDetails :
ahmad :"lahore"
jhon :"USA"
hamza :"UK"
emma :"USA, Calforina"
但是,当同一个所有者名称有多个地址时,将不起作用。 比如说,艾玛住在美国加利福尼亚州,她的第二个地址是华盛顿特区

它取代了艾玛:“华盛顿特区”


对于数组,键应该是唯一的,因此在这种情况下,可以使用数组为同一个键存储多个地址,这是一个开始:

函数myFunction(){
变量名称列表=[“ahmad”、“jhon”、“hamza”、“emma”],
labelDetails={ahmad:[“拉合尔”]、jhon:[“美国”]、hamza:[“英国”]、emma:[“美国,加州”]};
labelDetails[“emma”]。推送(“华盛顿特区”);
控制台日志(labelDetails);
}

单击我
对于数组,键应该是唯一的,因此在这种情况下,您可以使用数组为同一个键存储多个地址,这是一个开始:

函数myFunction(){
变量名称列表=[“ahmad”、“jhon”、“hamza”、“emma”],
labelDetails={ahmad:[“拉合尔”]、jhon:[“美国”]、hamza:[“英国”]、emma:[“美国,加州”]};
labelDetails[“emma”]。推送(“华盛顿特区”);
控制台日志(labelDetails);
}

单击我
我建议您一定要做一些更改才能使您的解决方案生效

labelDetails   = {
    "ahmad" : ["lahore"],
    "jhon" : ["USA"],
    "hamza" : ["UK"],
    "emma" : ["USA, Calforina"]
 };

labelDetails[ownerName].push("washington dc");

我建议你一定要做些改变,让你的解决方案发挥作用

labelDetails   = {
    "ahmad" : ["lahore"],
    "jhon" : ["USA"],
    "hamza" : ["UK"],
    "emma" : ["USA, Calforina"]
 };

labelDetails[ownerName].push("washington dc");

我会尝试设计一个随着时间的推移也保持稳定的数据结构,从而选择一个基于名称(更好地基于id)的键值person注册表,每个人引用一个数据项。然后,此数据节点是所有与人员相关的数据的根,这些数据还将出现,然后必须进行处理

var personRegistry={
艾哈迈德:{
地址列表:[“拉合尔”]
},
约翰:{
地址列表:[“美国”]
},
哈姆扎:{
地址列表:[“英国”]
},
艾玛:{
地址列表:[“美国,加利福尼亚”]
}
}
函数存储地址(名称、地址){
var store=personRegistry[name];
如果(!存储){
store=personRegistry[name]={};
store.addressList=[];
}
//防止地址重复。。。
//如果(!store.addressList.includes(address)){//如果可用,请使用它。
if(store.addressList.indexOf(address)<0){
store.addressList.push(地址);
}
}
log('personRegistry:',personRegistry);
店址(“艾玛”,“美国,加利福尼亚”);
店址(“emma”,美国华盛顿特区);
店址(“emma”,美国华盛顿特区);
店址(“苏珊”,“加拿大,多伦多”);
店址(“苏珊”,“加拿大,多伦多”);
log('personRegistry:',personRegistry);

.as console wrapper{max height:100%!important;top:0;}
我会尝试设计一个随时间保持稳定的数据结构,从而选择一个基于名称的(更好的基于id的)键值人员注册表,每个人都引用一个数据项。该数据节点是所有与人员相关的数据的根,这些数据将出现,然后也必须处理

var personRegistry={
艾哈迈德:{
地址列表:[“拉合尔”]
},
约翰:{
地址列表:[“美国”]
},
哈姆扎:{
地址列表:[“英国”]
},
艾玛:{
地址列表:[“美国,加利福尼亚”]
}
}
函数存储地址(名称、地址){
var store=personRegistry[name];
如果(!存储){
store=personRegistry[name]={};
store.addressList=[];
}
//防止地址重复。。。
//如果(!store.addressList.includes(address)){//如果可用,请使用它。
if(store.addressList.indexOf(address)<0){
store.addressList.push(地址);
}
}
log('personRegistry:',personRegistry);
店址(“艾玛”,“美国,加利福尼亚”);
店址(“emma”,美国华盛顿特区);
店址(“emma”,美国华盛顿特区);
店址(“苏珊”,“加拿大,多伦多”);
店址(“苏珊”,“加拿大,多伦多”);
log('personRegistry:',personRegistry);

。作为控制台包装器{max height:100%!important;top:0;}
嘿,你可以使用一些数组来存储同一个对象的多个地址,比如emma:[“USA,Calforina”,“washington,dc”]。你为什么不直接附加
地址
?像这样:
labedDetails\u list[ownerName]+=“-”+地址;
这很明显,不是吗?密钥应该是唯一的。我想检查相同的名称和地址不会重复@HamzaAbdaouiYes@AbhilashNayakHey,你可以使用一些数组来存储同一对象的多个地址,比如emma:[“美国,加州”,“华盛顿特区”].你为什么不加上
地址
?像这样:
labedDetails\u list[ownerName]+=“-”+地址;
这很明显,不是吗?关键应该是唯一的。我想检查一下相同的名称和地址不会重复@HamzaAbdaouiYes@abhilashnayakThank,问题是你如何学习最有效的方法来实现高度赞赏。谢谢,问题是你如何学习最有效的方法来实现高度赞赏。比ks@Harshakj89谢谢@Harshakj89