【问题标题】:How to create dynamic variables in Angularjs, javascript and other scripting language?如何在Angularjs、javascript等脚本语言中创建动态变量?
【发布时间】:2017-01-31 05:19:20
【问题描述】:

我想创建动态变量,如 Vikas0、Vikas1、Vikas2、Vikas3 等。

$.each(data, function(key, value){
  $scope.servicesDataList[key].list="Vikas"+key;
  // will print Vikas0, Vikas1, Vikas2, Vikas3
  console.log($scope.servicesDataList[key].list); 
});

现在我想创建动态变量。有人知道我怎么能做到这一点。我希望我能详细说明我的问题。

【问题讨论】:

  • 你不能创建一个独立的动态变量,但可以创建一个哈希映射作为 var hashValue 然后使用 hashValue[$scope.servicesDataList[key].list] = "value"
  • 为什么不使用数组?
  • 我在 json 中得到了结果,这就是为什么不使用数组

标签: javascript jquery angularjs variables dynamic-variables


【解决方案1】:
You can use.
 the syntax would be = $scope["vikas"+key] = []

    $.each(data, function(key, value){    
       $scope["Vikas"+key] = value;    
       console.log($scope["vikas"+key].value);
     will print Vikas0, Vikas1,Vikas2, Vikas3  

});

【讨论】:

  • 因此它将创建 Vikas0 变量,其值为 Vikas0
  • 它可以保存任何值,如数组、JSON、字符串或任何
【解决方案2】:

您可以使用对象数组作为动态变量。

             Var conctVar="":
              $.each(data, function(key, value){
                conctVar= conctVar + "{Vikas"+key + ":Vikas"+value+"},";
               });

               conctVar=conctVar.slice(0,-1);
               $scope.FinalObject=JSON.parse(conctVar);// now the string will convert to a array object

现在你可以得到如下所示的数组对象

$scope.FinalObject.Vikas1,// 值为 vikas1

$scope.FinalObject.Vikas2,// 值为 vikas2

$scope.FinalObject.Vikas3,//值为vikas3

$scope.FinalObject.Vikas4//值为vikas4

【讨论】:

    猜你喜欢
    • 2011-02-23
    • 2016-09-18
    • 2017-07-27
    • 2011-01-27
    • 2019-10-21
    • 2017-04-30
    • 2011-10-31
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多