数组中的javascript集合属性
我想设置数组中项目的属性(p1)。 例如,数组[1]。p1=“David”。但是发生了一个错误。 下面是代码,有人能给我一个提示吗?非常感谢数组中的javascript集合属性,javascript,arrays,Javascript,Arrays,我想设置数组中项目的属性(p1)。 例如,数组[1]。p1=“David”。但是发生了一个错误。 下面是代码,有人能给我一个提示吗?非常感谢 var array1=new Array(); array1[0].p1="MARY"; array1[1].p1="JHON"; for (index = 0; index < array1.length; ++index) { alert(arra
var array1=new Array();
array1[0].p1="MARY";
array1[1].p1="JHON";
for (index = 0; index < array1.length; ++index) {
alert(array1[index].p1);
}
var array1=新数组();
数组1[0]。p1=“玛丽”;
数组1[1].p1=“JHON”;
对于(索引=0;索引
我试过array1.push({p1:“MARY”}),它能用!但它不能通过“特定”索引设置值。数组应声明为对象 例如。
[0]={“p1”:“Mary”}数组应声明为对象 例如。
a[0]={“p1”:“Mary”}您假设默认情况下数组中填充了空对象
{}
,这是不正确的。在array1[0]之前。属性
必须将对象(hashmap)放在那里:
array1[0]={}
您假设默认情况下数组中填充了空对象{}
,但这不是真的。在array1[0]之前。属性
必须将对象(hashmap)放在那里:
array1[0]={}
在第一个示例中,您尝试向数组的第一个元素槽中不存在的对象添加属性。这就是出现错误的原因
这就是第二个示例有效的原因。对象{p1:“MARY”}
本身被推到第一个位置。正如Jon在评论中所说,这也可以通过使用array1[0]={p1:“MARY”}
来实现
(在您的示例中,请确保var
您的循环变量):
var array1=新数组();
数组1[0]={p1:'玛丽'};
数组1[1]={p1:“JHON”};
对于(var指数=0;指数
在第一个示例中,您尝试向数组的第一个元素槽中不存在的对象添加属性。这就是出现错误的原因 这就是第二个示例有效的原因。对象
{p1:“MARY”}
本身被推到第一个位置。正如Jon在评论中所说,这也可以通过使用array1[0]={p1:“MARY”}
来实现
(在您的示例中,请确保var
您的循环变量):
var array1=新数组();
数组1[0]={p1:'玛丽'};
数组1[1]={p1:“JHON”};
对于(var指数=0;指数
不向对象(关联数组)添加更多元素,而是替换它们;要添加元素,您必须编写:
myObject["123"].C =123;
myObject["123"].D = 456;
至于#2和#3,Javascript对象不保证按添加顺序返回属性;为此,您必须使用数组,然后根据不同数据结构的结构调整数据后,您可以使用以下方法获得第一个元素:
myArray.shift()
不向对象(关联数组)添加更多元素,而是替换它们;要添加元素,您必须编写:
myObject["123"].C =123;
myObject["123"].D = 456;
至于#2和#3,Javascript对象不保证按添加顺序返回属性;为此,您必须使用数组,然后根据不同数据结构的结构调整数据后,您可以使用以下方法获得第一个元素:
myArray.shift()
array1[0]={p1:“MARY”}
array1[0]
在插入之前不存在,因此尝试单独设置其p1
属性没有意义。非常感谢。在我设置值之前,是否有任何方法可以首先检查数组1[0].p1是否存在?我将您所写的解释为“是否有任何方法可以检查array1[0]
是否具有属性p1
,假设array1[0]
本身是一个对象?”。这就是你的意思吗?array1[0]={p1:“MARY”}
array1[0]
在插入之前不存在,因此尝试单独设置其p1
属性没有意义。非常感谢。在我设置值之前,是否有任何方法可以首先检查数组1[0].p1是否存在?我将您所写的解释为“是否有任何方法可以检查array1[0]
是否具有属性p1
,假设array1[0]
本身是一个对象?”。这就是你的意思吗?