如何在javascript中动态向对象数组添加值?

2024-05-16

这是一个对象数组,

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() or new Array()要不就[].

我建议阅读MDN JavaScript 指南 https://developer.mozilla.org/en/JavaScript/Guide.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在javascript中动态向对象数组添加值? 的相关文章

随机推荐