Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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,我想设置数组中项目的属性(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

我想设置数组中项目的属性(p1)。 例如,数组[1]。p1=“David”。但是发生了一个错误。 下面是代码,有人能给我一个提示吗?非常感谢

    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]
本身是一个对象?”。这就是你的意思吗?