javascript在数组中设置属性
javascript set property in array
我想设置数组中项的属性(p1)。例如,array[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);
}
我试过array1.push({p1:"MARY"}),它有效!但它不能通过"特定"索引来设置值。
在第一个例子中,您要做的是向数组的第一个元素槽中不存在的对象添加一个属性。这就是出现错误的原因。
这就是为什么你的第二个例子有效。对象CCD_ 1本身被推入第一位置。正如Jon在评论中所说,这也可以使用array1[0] = {p1: "MARY"}
来完成。
(在您的示例中,请确保var
您的循环变量):
var array1 = new Array();
array1[0] = {p1: 'MARY'};
array1[1] = {p1: "JHON"};
for (var index = 0; index < array1.length; ++index) {
console.log(array1[index].p1); // MARY, JHON
}
Fiddle
数组应声明为对象
例如。a[0]={"p1":"Mary"}
默认情况下,该数组填充了空对象{}
,但这不是真的。在array1[0].properties
之前,必须放置对象(hashmap):array1[0] = {}
。
myObject["123"] = { "C": 123, "D": 456 };
不向对象(关联数组)添加更多元素,而是替换它们;要添加元素,您必须编写:
myObject["123"].C =123;
myObject["123"].D = 456;
至于#2和#3,Javascript对象不保证按照添加它们的顺序返回属性;为此,您必须使用数组,然后在根据不同数据结构的限制调整数据后,您可以获得第一个元素:
myArray.shift()
相关文章:
- Javascript使用变量设置属性
- 如何在自动完成时设置属性标题
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- 未捕获的类型错误:无法设置属性'背景'的未定义
- 无法设置属性'innerHTML'在javascript中为null
- Haxe Javascript:在不使用Reflect的情况下按名称获取和设置属性
- Jquery为每个元素设置属性
- 从骨干集合筛选模型,然后为这些模型设置属性
- 我们可以设置属性'id'到不同的'按钮'通过使用javascript或jquery的循环
- 如何在javascript对象中设置属性的类型,就像mongoose模式设计一样
- emscripten+sdl=引发异常:TypeError:无法设置属性'widthNative'的未定
- 未捕获的类型错误:无法设置属性'onclick'为null.已尝试window.onload
- Backbone JS Promises在模型上设置属性之前解析
- Highcharts无法设置属性'的值;要点':对象为null或未定义
- 无法设置属性'round'的未定义
- 通过 Javascript 设置 C# 属性值
- 在 app.locals 上设置属性和调用 app.set() 有什么区别?
- 不引人注目地设置属性后函数失败
- j查询在设置属性后在后续单击时不读取数据属性
- IE错误:无法设置属性'的值;样式':对象为null或未定义