使用连接名称在对象中添加元素

时间:2017-09-25 06:30:27

标签: javascript angularjs

我有对象$scope.form。我想在其中添加各种元素$scope.form.elem1, $scope.form.elem2, $scope.form.elem3等等。

我尝试了一些方法,但没有任何方法可以帮助我。

for(i = 0; i <= addr.length; i++) {
  $scope.form.elem = addr.i; //What should be here ??
}

3 个答案:

答案 0 :(得分:2)

$scope.form["text"+variable] = addr[i];

如果要使用变量值,连接字符串或带有异常字符(如“。”)的字符串来访问属性,请使用方括号[]

答案 1 :(得分:1)

假设您拥有数组addr中的值。
您可以使用这样的字符串迭代对象属性。

for (let i = 0; i < addr.length; i++) {
   $scope.form['yourName' + i] = addr[i];
}

答案 2 :(得分:1)

你看起来像这样:

var noOfelements = 100; // you can have your addr array also 
var key;
for(i = 1; i <= noOfelements; i++) {
 key = "elem"+i;
 $scope.form[key] = i; //i is just for reference you can give value to each element as per your need
}

下面是输出你将获得与$ scope相同的输出。

enter image description here