作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是一个对象数组,
var data = [
{"label" : "1", "value" : 12},
{"label" : "1", "value" : 12},
{"label" : "1", "value" : 12},
{"label" : "1", "value" : 12}
];
如何动态地为这些值添加值?我尝试了以下代码但没有成功:
var lab =["1","2","3", "4"];
var val = [42,55,51,22];
var data = new Array();
for(var i=0; i<4; i++){
data[i].label = lab[i];
data[i].value = val[i];
}
最佳答案
您必须先实例化对象。最简单的方法是:
var lab =["1","2","3"];
var val = [42,55,51,22];
var data = [];
for(var i=0; i<4; i++) {
data.push({label: lab[i], value: val[i]});
}
或者另一种不太简洁但更接近您的原始代码的方式:
for(var i=0; i<4; i++) {
data[i] = {}; // creates a new object
data[i].label = lab[i];
data[i].value = val[i];
}
array()
不会创建新数组(除非您定义了该函数)。 Array()
或 new Array()
或只是 []
。
我建议阅读 MDN JavaScript Guide .
关于javascript - 如何在javascript中动态地向对象数组添加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858385/
我是一名优秀的程序员,十分优秀!